2012-05-09 68 views
6

我在jquery中創建了一個導出爲正則表達式的日曆。但是,我在日期時間有一些問題。正式導出的格式化時間

ical導出腳本需要以下格式的日期/時間:19970714T170000Z。

有人知道這是什麼以及我應該如何準備我的字符串?

感謝

回答

9

閱讀RFC(link) 給出:

3.3.5。日期時間

[...]

日期 - 時間=日期 「T」 時間

的 「日期 - 時間」 值類型表明了三種形式的時間值:

FORM# 1: 19980118T230000

FORM#2:與UTC的時間 CAPITAL字母Z後綴字符DATE,到TIM LOCAL TIME 例如,以下表示1998年1月18日,下午11點DATE e值。
例如,以下表示1998年1月19日,在0700 UTC: 19980119T070000Z

FORM#3:使用本地時間和時區參考日期 TZID =美國/紐約:19980119T020000

DTSTART:19970714T133000 ;當地時間 DTSTART:19970714T173000Z; UTC time DTSTART; TZID = America/New_York:19970714T133000 ;當地時間和地點 ;區域參考

0

因此,要回答在JQuery中轉換爲此格式的問題,您可以執行以下操作。

var n = d.toISOString(); 
-1

這幾乎就像toISOString

function formatDateTime(date) { 
    const year = date.getUTCFullYear(); 
    const month = pad(date.getUTCMonth() + 1); 
    const day = pad(date.getUTCDate()); 
    const hour = pad(date.getUTCHours()); 
    const minute = pad(date.getUTCMinutes()); 
    const second = pad(date.getUTCSeconds()); 
    return `${year}${month}${day}T${hour}${minute}${second}Z`; 
} 

function pad(i) { 
    return i < 10 ? `0${i}` : `${i}`; 
} 

// Example: 
const date = new Date('2017-05-31T11:46:54.216Z'); 
date.toISOString() // '2017-05-31T11:46:54.216Z' 
date.toJSON()  // '2017-05-31T11:46:54.216Z' 
formatDateTime(date) // '20170531T114654Z'