前台时间格式 2019-03-09T16:00:00.000Z
问题描述:
本想在前台把字符串格式的日期(2019-03-09)转换成日期格式(2019-03-09 00:00:00),但当把这个参数传到后台去后却变成了2019-03-08T16:00:00.000Z这样的格式,日期少了一天,这样拿到的数据肯定不是我们想要的,那么该怎么办?
问题解决:
众所周知,我们当前所处的时区是+8时区,而16+8正好是第二天零点,这也正是我们想要的时间,那么从2019-03-08T16:00:00.000Z这个格式中可以猜想000Z多半与时区相关,果然百度了一下这就是UTC 通用标准时,问题就可以解决了。
Java后台得到的时间是:String date = “2019-03-08T16:00:00.000Z”
转换成yyyy-MM-dd格式,Date类型默认hh:mm:ss为00:00:00
String now = "2019-03-09"; DateFormat format = new SimpleDateFormat("yyyy-MM-dd"); Date date = format.parse(now); System.out.println(date);
将“2019-03-08T16:00:00.000Z“时间格式转换成Date类型格式
String date = "2019-03-09T16:00:00.000Z"; date = date.replace("Z", " UTC"); System.out.println(date); SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS Z"); Date d = format.parse(date); System.out.println(d);