JS显示后台日期出现时差问题
2017-11-23 11:44
1201 查看
JAVA后台DATE类型通过SpringMVC(@ResponseBody)传到前端,前端JS转换成DATE时比后台时间多了14小时。
JAVA的DATE日期格式:Thu Aug 18 20:38:54 CST 2016,然而CST却同时可以代表如下 4 个不同的时区:
Central Standard Time (USA) UT-6:00
Central Standard Time (Australia) UT+9:30
China Standard Time UT+8:00
Cuba Standard Time UT-4:00
JS把后台日期当成了UT-6:00时区,再转换成本地时区UT+8:00导致多了14小时。
解决办法:
var dateStr = '${newsDataBlob.dTime}';
dateStr=dateStr .trim().split("
");
var strGMT = dateStr[0]+" "+dateStr[1]+" "+dateStr[2]+" "+dateStr[5]+"
"+dateStr[3]+" GMT+0800";
var date = new Date(Date.parse(strGMT));
以上操作后就可以拿到以下格式的日期对象:
Thu Aug 18 2016 20:38:54 GMT+0800
再把DATE对象format成自己想要的格式显示出来就行了。
JAVA的DATE日期格式:Thu Aug 18 20:38:54 CST 2016,然而CST却同时可以代表如下 4 个不同的时区:
Central Standard Time (USA) UT-6:00
Central Standard Time (Australia) UT+9:30
China Standard Time UT+8:00
Cuba Standard Time UT-4:00
JS把后台日期当成了UT-6:00时区,再转换成本地时区UT+8:00导致多了14小时。
解决办法:
var dateStr = '${newsDataBlob.dTime}';
dateStr=dateStr .trim().split("
");
var strGMT = dateStr[0]+" "+dateStr[1]+" "+dateStr[2]+" "+dateStr[5]+"
"+dateStr[3]+" GMT+0800";
var date = new Date(Date.parse(strGMT));
以上操作后就可以拿到以下格式的日期对象:
Thu Aug 18 2016 20:38:54 GMT+0800
再把DATE对象format成自己想要的格式显示出来就行了。
相关文章推荐
- java与json互相转换(解决日期问题),js显示json数据时出现日期类型显示[object,object]现象解决!
- js写的日期在IE与mozilla里显示不一致问题,你是怎么看的。
- JS中将日期字符串转换为日期型过程中出现的问题
- js日期在火狐显示为111年的问题
- Vue.js 中取得后台原生HTML字符串 原样显示问题的解决方法
- vue.js中使用vueResource向后台请求数据时出现跨域访问失败的问题
- 关于DEDECMS系统转换服务器后台出现乱版和后台登陆不显示验证码问题?(乱版是头部有个空栏)
- Ajax、JS 前台页面访问后台出现乱码问题
- 关于java后台转发jsp到easyUI tabs标签里 css js出现404问题
- php、asp.net关于后台设置的cookie前台JS获取时出现中文乱码问题解决
- 找的网上的js日期格式化问题出错了显示 一堆 NaN的东西
- JS Date格式化日期问题,时间显示区别
- JS传递到后台中文 出现乱码问题
- VUE.js 中取得后台原生HTML字符串 原样显示问题
- 解决JS传到后台的中文字符在非中文环境下出现乱码“?”问题
- 使用js对table单元格隐藏显示操作出现单元格叠加问题
- jscalendar-1.0 日期选择框显示问题
- 0.jquery 验证,以及显示出现错误的地方 1.当用jquery.validate与ajax时候特别小心在每句后面的逗号问题,如果不需要的地方加上逗号会造成页面无法进入js验证
- vue 在nginx下页面刷新出现404问题解决和在nginx下页面加载了js但是页面显示空白问题解决
- js传参 java/jsp 后台获取出现问号乱码问题