本文为博主原创,未经允许不得转载:

  最近在使用一个时间插件的时候,接收到的时间格式是 ’2017-11-27T03:16:03.944Z’ ,当我进行双向数据绑定的时候,由后台传过来的时间绑定到时间

控件上时,日期差了一天,在浏览器控制台发现我传输的时期是yyyy-MM-dd格式,当控件自己解析的时候,差了8个小时,日期就少了一天。

如上图所示,在网上搜了很多,发现这个日期格式为:UTC日期格式。

UTC日期即世界时,即格林尼治平太阳时,是表示地球自转速率的一种形式。

UTC就是世界标准时间,与北京时间相差八个时区。所以只要将UTC时间转化成一定格式的时间,再在此基础上加上8个小时就得到北京时间了。

当我在后台给前台控件绑定的时间格式为  yyyy-MM-dd'T'HH:mm:ss.SSS'Z' 格式的时候,解析就OK了。

所以在此列出UTC日期格式与String的日期格式转换方法:

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date; public class UTCTimeFormatTest {
//UTC就是世界标准时间,与北京时间相差八个时区。所以只要将UTC时间转化成一定格式的时间,再在此基础上加上8个小时就得到北京时间了。
public static void main(String[] args) throws ParseException {
//Z代表UTC统一时间:2017-11-27T03:16:03.944Z
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS'Z'");
Date date = new Date();
System.out.println(date);
String str = format.format(date);
System.out.println(str);
SimpleDateFormat dayformat = new SimpleDateFormat("yyyy-MM-dd");
String source ="2018-09-18";
//先将年月日的字符串日期格式化为date类型
Date day = dayformat.parse(source);
     //然后将date类型的日期转化为UTC格式的时间
String str2= format.format(day);
System.out.println(str2);
}
}

运行结果为:

留言以鼓励自己和看我博客的人:

每个人都应是守望者,守望我们的心智,我们的理想,以防它在生活中不知不觉地坠落、被操控和被自己遗忘。。。

yyyy-MM-dd'T'HH:mm:ss.SSS'Z'即UTC时间,与String日期转换的更多相关文章

  1. js时间格式化(yy年MM月dd日 hh:mm)

    //时间格式化 Date.prototype.format = function (format) { var o = { "M+": this.getMonth() + 1, / ...

  2. SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//设置日期格式

    java日期格式大全 format SimpleDateFormat(转) SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH ...

  3. 2016-08-15T16:00:00.000Z 格式转换成yyyy-MM-dd HH:mm:ss格式

    public static String UTCStringtODefaultString(String UTCString) { try { if (CommonUtils.notNullAndEm ...

  4. C# 时间格式 yyyy/mm/dd

    今天遇到个问题在C#中将日期格式设置为yyyy/MM/dd,我是这样写的: DateTime.Now.ToString("yyyy/MM/dd"); 可是获取到的日期还是显示yyy ...

  5. java 日期格式转换EEE MMM dd HH:mm:ss z yyyy

    SimpleDateFormat parserSDF = new SimpleDateFormat("EEE MMM dd HH:mm:ss zzzz yyyy", Locale. ...

  6. dd/MMM/yyyy:hh:mm:ss +0800日期格式的转化

    private static void myHandler() throws ParseException { String dtime1 = "23/Apr/2019:04:08:00 + ...

  7. JAVA 时间"dd/MMM/yyyy:HH:mm:ss Z", Locale.US

    工作遇到时间格式转换问题, 就是在日志分析时, 需要将格式“15/Oct/2009:14:00:00 +0800”转为格式“2009-10-15 14:00:00”, 找了好久没有找到合适的,终于在友 ...

  8. vue-cli 利用moment.js转化时间格式为YYYY年MM月DD日,或者是YYYY-MM-DD HH:MM:SS 等格式

    1.在mian.js引入moment import moment from 'moment' Vue.prototype.$moment = 'moment' 2. 在main.js 设置全局过滤器 ...

  9. SimpleDateFormat 中的yyyy-MM-dd HH:mm:ss.SSS说明

    SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); 转换的格式:yyyy是完整的西元年,MM是月份, ...

随机推荐

  1. HasThisTypePatternTriedToSneakInSomeGenericOrParameterizedTypePatternMatchingStuffAnywhereVisitor

    看到的最长的类名: HasThisTypePatternTriedToSneakInSomeGenericOrParameterizedTypePatternMatchingStuffAnywhere ...

  2. Eclipse中tomcat更改部署路径 deply path

    默认是部署在项目元数据文件夹.metadata文件夹下,需要更改到tomcat/webapps目录下 Eclipse中tomcat service设置 选择window ----show view-- ...

  3. 20165305 实验四:Android程序设计

    实验内容 基于Android Studio开发简单的Android应用并部署测试; 了解Android.组件.布局管理器的使用: 掌握Android中事件处理机制. Android Studio安装 ...

  4. Linux基础命令---文本编辑sed

    sed sed是一种流编辑器,用来从输入流中读取内容并完成转换,输入流可以来自一个文件,也可以来自一个管道. 此命令的适用范围:RedHat.RHEL.Ubuntu.CentOS.SUSE.openS ...

  5. html div重叠问题,原因分析和处理

    1.现象 <!DOCTYPE html > <html> <head> <meta http-equiv="Content-Type" c ...

  6. ORM some

    1 -- 增 models.表名(类).objects.create(字段1=值,字段2=值) 查 models.表名(类).objects.get(pk = 3) models.表名(类).obje ...

  7. [转载]对称加密DES和TripleDES

    一. 对称加密 对称加密,是一种比较传统的加密方式,其加密运算.解密运算使用的是同样的密钥,信息的发送者和信息的接收者在进行信息的传输与处理时,必须共同持有该密码(称为对称密码).因此,通信双方都必须 ...

  8. RTMP HLS HTTP 直播协议一次看个够

    直播从2016年一路火到了2017年,如今要在自己的App里加入直播功能,只要找一个现成的SDK就行了,什么拍摄.美颜.推流,一条龙服务.不过作为直播身后最重要的部分:推流协议,很多人并不是很清楚.如 ...

  9. 基于Redis实现分布式锁实战

    背景在很多互联网产品应用中,有些场景需要加锁处理,比如:秒杀,全局递增ID,楼层生成等等.大部分的解决方案是基于DB实现的,Redis为单进程单线程模式,采用队列模式将并发访问变成串行访问,且多客户端 ...

  10. STM32硬件IIC驱动设计(转)

    源: STM32硬件IIC驱动设计 参考: STM32—硬件IIC主机通信 STM32’s I2C 硬件BUG引发的血案(qzm) 解决STM32 I2C接口死锁在BUSY状态的方法讨论