簡體   English   中英

如何格式化這種日期時間2013-03-12T22:15:40 + 08:00到“2012年3月12日02:15:40 UTC”?

[英]How can I format this kind of date time 2013-03-12T22:15:40+08:00 to “12 Mar 2012 02:15:40 UTC”?

我從我的數據庫收到了我的日期時間,它返回了這種格式

2013-03-12T22:15:40+08:00

這種格式是什么? 什么是T和+代表什么?

我想把時間顯示在:

12 Mar 2012 02:15:40 UTC

我想根據瀏覽器中設置的時區顯示此時間。 因此,我應該在Javascript中格式化,但不在后端格式化。 我怎樣才能在JS中實現這一點?

“T”表示“時間”; “+”(或“ - ”)表示UTC偏移量。 JavaScript實際上在我的瀏覽器中解析了這種格式:

> new Date('2013-03-12T22:15:40+08:00');
Date {Tue Mar 12 2013 14:15:40 GMT+0000 (GMT Standard Time)}

因此,如果您想要您指定的格式:

var formatDate = function(d) {
  var date = new Date(d);
  return date.getUTCDate() + ' ' +
         ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'][date.getUTCMonth()] + ' ' +
         date.getUTCFullYear() + ' ' +
         date.getUTCHours() + ':' +
         date.getUTCMinutes() + ':' +
         date.getUTCSeconds() + ' UTC';
};
function toUTC(datestring) {
    var date = new Date(datestring);
    var months = ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"];
    return date.getUTCDate() + " " + 
           months[date.getUTCMonth()] + " " + 
           date.getUTCFullYear() + " " + 
           date.getUTCHours() + ":" + 
           date.getUTCMinutes() + ":" + 
           date.getUTCSeconds() + " UTC";
}
console.log(toUTC("2013-03-12T22:15:40+08:00"));

12 Mar 2013 14:15:40 UTC 我想UTC時間應該是14小時而不是02小時。

具體情況在上面的答案中 - 如果這就是你正在做的事情,或者看起來它會很好地為你服務。 如果您要進行更多日期操作,那么您可能需要查看日期操作庫。 JavaScript對日期的處理最多也很弱,所以有幾個可以選擇,但是,出於顯而易見的原因,我傾向於喜歡自己的:

DP_DateExtensions

Parse函數將從任何預定義的字符串中獲取JS日期,並且Format函數將吐出您需要的任何內容。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM