JS 时间格式CST转GMT

喜欢ヅ旅行 2022-06-01 08:55 338阅读 0赞

原始时间格式:Thu Aug 18 20:38:54 CST 2016
转换时间格式:2016-08-19 10:38

使用的代码如下:

[javascript] view plain copy

  1. //Thu Aug 18 20:38:54 CST 2016
  2. function getTaskTime(strDate) {
  3. console.log(“原始时间格式:”+strDate);
  4. var date = new Date(strDate);
  5. var y = date.getFullYear();
  6. var m = date.getMonth() + 1;
  7. m = m < 10 ? (‘0’ + m) : m;
  8. var d = date.getDate();
  9. d = d < 10 ? (‘0’ + d) : d;
  10. var h = date.getHours();
  11. var minute = date.getMinutes();
  12. minute = minute < 10 ? (‘0’ + minute) : minute;
  13. var str = y+”-“+m+”-“+d+” “+h+”:”+minute;
  14. console.log(“转换时间格式:”+str);
  15. return str;
  16. };

查阅后发现,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

  1. //Thu Aug 18 20:38:54 CST 2016,时间格式转换
  2. //输出格式:yyyy-MM-dd HH:mm:ss
  3. Thu Aug 18 2016 20:38:54 GMT+0800
  4. function getTaskTime(strDate) {
  5. if(null==strDate || “”==strDate){
  6. return “”;
  7. }
  8. var dateStr=strDate.trim().split(“ “);
  9. var strGMT = dateStr[0]+” “+dateStr[1]+” “+dateStr[2]+” “+dateStr[5]+” “+dateStr[3]+” GMT+0800”;
  10. var date = new Date(Date.parse(strGMT));
  11. var y = date.getFullYear();
  12. var m = date.getMonth() + 1;
  13. m = m < 10 ? (‘0’ + m) : m;
  14. var d = date.getDate();
  15. d = d < 10 ? (‘0’ + d) : d;
  16. var h = date.getHours();
  17. var minute = date.getMinutes();
  18. minute = minute < 10 ? (‘0’ + minute) : minute;
  19. var second = date.getSeconds();
  20. second = second < 10 ? (‘0’ + second) : second;
  21. return y+”-“+m+”-“+d+” “+h+”:”+minute+”:”+second;
  22. };

显示结果:

原始时间格式: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

发表评论

表情:
评论列表 (有 0 条评论,338人围观)

还没有评论,来说两句吧...

相关阅读

    相关 GMT UTC CST

    省流:国内直接用GMT+8 解释: 1. GMT,格林威治时间。即0时区。 1. 国内各地不区分时区,任何地方都用北京时间(乌鲁木齐拉萨等地并不在东8区),即GMT+