Java中Date()类 日期转字符串、字符串转日期的问题(已解决)


Java中Date()类 日期转字符串、字符串转日期的问题

今天在写东西的时候突然发现一个问题,就是先new 一个Date()然后将生成的值转为字符串,

然后再将转换后的字符串再次用new Date()转为日期,但是转完之后发现两次生成的日期之间有差距?有大佬知道是什么原因吗?

知道的大佬麻烦说一下,谢谢了!

我把代码贴在下面:

public void test2() { SimpleDateFormat simpleDateFormat = new SimpleDateFormat("G yyyy年 MM月dd日 HH时mm分ss秒SS毫秒 E 一年中的第D天 MM月中的第F个E 一年中的第w个星期 一月中的第W个星期 a z时区"); //获取日期
        Date date = new Date(); //控制台打印日期
        System.out.println("date = " + simpleDateFormat.format(date)); //将上面获取的日期转为字符串之后再转成日期
        Date date1 = new Date(date + ""); //控制台打印日期
        System.out.println("date1 = " + simpleDateFormat.format(date1)); /** * 打印的结果 * date = 公元 2019年 03月16日 21时06分13秒241毫秒 星期六 一年中的第75天 03月中的第3个星期六 一年中的第11个星期 一月中的第3个星期 下午 CST时区 * date1 = 公元 2019年 03月17日 11时06分13秒00毫秒 星期日 一年中的第76天 03月中的第3个星期日 一年中的第12个星期 一月中的第4个星期 上午 CST时区 */ }

 

-------------------------------------------------------

下面是详解:

  看了大佬的评论。 自己也去看了看api,其实就是时区问题。

  根据参数确定日期和时间。 该参数被解释为年,月,该月的一天,一天的时间,在一小时内分和秒中的分钟,正好作为Date构造与六个参数,

  除了参数相对于UTC解释而不是当地时区

  返回的时间表示为从时代(1970年1月1日00:00:00 GMT)开始的距离(以毫秒为单位)。

--------------------------------- end ---------------------------------

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM