美文网首页
Java CST 日期问题

Java CST 日期问题

作者: 三两五 | 来源:发表于2016-06-15 00:51 被阅读1043次

    在做一个项目的过程中,出现了一个很奇怪的问题。就是修改一个项目的时候,从数据库中读取的时间显示是正确的,然后更新到后台的也是正确的,但是在进行时间转化的时候,出现了

    Mon May 29 23:59:59 CST 2016

    这种日期格式,

    日期转换的代码如下:
    public static Date formatDate(String dateDtr, Format format)
    {
    Date strtoDate = null;
    try
    {
    strtoDate = ((SimpleDateFormat) format).parse(dateDtr);
    }
    catch (ParseException e)
    {
    e.printStackTrace();
    }
    return strtoDate;
    }

    format传过来的值为:

    public static final Format FORMAT_YYYY_MM_DD_HH_MM_SS = new SimpleDateFormat(
    "yyyy-MM-dd HH:mm:ss");

    按道理Date的值为2016-5-29 23:59:59
    可实际上一直都是 Mon May 29 23:59:59 CST 2016
    不管怎么转换都无法搞定。
    同时自己也在思考,在添加这个项目的时候,时间控件一模一样,可偏偏添加的时候没有出现这个问题,唯一不同的是修改里面的值来源于数据库,但也不确定是不是因为数据库的影响,后来在简书里查到这个博客
    [http://www.jianshu.com/p/1285f27d30c9]
    才找到解决之道,处理代码如下:

    SimpleDateFormat sdf =new SimpleDateFormat("EEE MMM dd HH:mm:ss Z yyyy", Locale.ENGLISH);
    Date date = sdf.parse(str);
    return formatDate(date, FORMAT_YYYY_MM_DD_HH_MM_SS);

    不过自己最终放弃了这样处理,因为获取到的时间是字符串,我直接保存到数据库中,让mysql去做处理。
    尼玛,坑啊!

    相关文章

      网友评论

          本文标题:Java CST 日期问题

          本文链接:https://www.haomeiwen.com/subject/crgudttx.html