JS 时间格式CST转GMT
原始时间格式:Thu Aug 18 20:38:54 CST 2016
转换时间格式:2016-08-19 10:38
使用的代码如下:
[javascript] view plain copy
- //Thu Aug 18 20:38:54 CST 2016
- function getTaskTime(strDate) {
- console.log(“原始时间格式:”+strDate);
- var date = new Date(strDate);
- var y = date.getFullYear();
- var m = date.getMonth() + 1;
- m = m < 10 ? (‘0’ + m) : m;
- var d = date.getDate();
- d = d < 10 ? (‘0’ + d) : d;
- var h = date.getHours();
- var minute = date.getMinutes();
- minute = minute < 10 ? (‘0’ + minute) : minute;
- var str = y+”-“+m+”-“+d+” “+h+”:”+minute;
- console.log(“转换时间格式:”+str);
- return str;
- };
查阅后发现,JS使用的是GMT的时间格式,而在在服务器端 获取当前时间为CST的格式,在使用new Date(strDate)转换时,转换为GMT格式,出现了如上所述的错误:
原始时间格式:Thu Aug 18 20:38:54 CST 2016
GMT时间格式:Fri Aug 19 2016 10:38:54 GMT+0800 (中国标准时间)
转换时间格式:2016-08-19 10:38
解决方法是:
(参考文献:http://blog.csdn.net/frankcheng5143/article/details/51802518)
对CST格式的时间字符串进行分段截取,重新拼接为GMT格式,然后显示
[javascript] view plain copy
- //Thu Aug 18 20:38:54 CST 2016,时间格式转换
- //输出格式:yyyy-MM-dd HH
ss
- Thu Aug 18 2016 20:38:54 GMT+0800
- function getTaskTime(strDate) {
- if(null==strDate || “”==strDate){
- return “”;
- }
- var dateStr=strDate.trim().split(“ “);
- var strGMT = dateStr[0]+” “+dateStr[1]+” “+dateStr[2]+” “+dateStr[5]+” “+dateStr[3]+” GMT+0800”;
- var date = new Date(Date.parse(strGMT));
- var y = date.getFullYear();
- var m = date.getMonth() + 1;
- m = m < 10 ? (‘0’ + m) : m;
- var d = date.getDate();
- d = d < 10 ? (‘0’ + d) : d;
- var h = date.getHours();
- var minute = date.getMinutes();
- minute = minute < 10 ? (‘0’ + minute) : minute;
- var second = date.getSeconds();
- second = second < 10 ? (‘0’ + second) : second;
- return y+”-“+m+”-“+d+” “+h+”:”+minute+”:”+second;
- };
显示结果:
原始时间格式:Thu Aug 18 20:38:54 CST 2016
GMT时间格式:Thu Aug 18 2016 20:38:54 GMT+0800 (中国标准时间)
转换时间格式:2016-08-18 20:38:54
原文链接http://blog.csdn.net/u012463017/article/details/53378363
还没有评论,来说两句吧...