JS 時間格式CST轉GMT__JavaScript

來源:互聯網
上載者:User

近幾天,在做百度地圖時,需要轉換時間格式並做顯示,但是發現顯示的時間格式,出現了錯亂,二者的日期和小時都出現了變動。例如:

原始時間格式:Thu Aug 18 20:38:54 CST 2016
轉換時間格式:2016-08-19 10:38

使用的代碼如下:

//Thu Aug 18 20:38:54 CST 2016function 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格式,然後顯示

//Thu Aug 18 20:38:54 CST 2016,時間格式轉換//輸出格式:yyyy-MM-dd HH:mm:ssThu Aug 18 2016 20:38:54 GMT+0800function 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

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.