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 ---------------------------------

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。