2012-05-09 8 views
6

Ich habe einen Kalender in Jquery erstellt, der nach ical exportiert. Ich habe jedoch einige Probleme mit der Datetime.Formatierungszeit für ical Export

Das ical-Export-Skript erwartet das Datum/die Uhrzeit in diesem Format: 19970714T170000Z.

Weiß jemand was das ist und wie ich meine Saite vorbereiten soll?

Dank

Antwort

9

die RFC (link) Lesen gibt: 3.3.5

. Date-Time

[...]

date-time = date "T" Zeit

Der "DATE-TIME" Werttyp Zeitwert in drei Formen zum Ausdruck bringt:

FORM # 1: DATUM MIT ORTSZEIT zum Beispiel folgendes repräsentiert 18. Januar 1998, um 11.00 Uhr: 19980118T230000

FORM # 2: Datum UTC ZEIT CAPITAL LETTER Z Suffix Zeichen, zum tim e Wert.
Zum Beispiel stellt die folgenden 19. Januar 1998, um 0700 UTC: 19980119T070000Z

FORM # 3: DATUM MIT LOKALE ZEIT UND BEZUGSZEITZONE TZID = America/New_York: 19980119T020000

DTSTART: 19970714T133000 ; Ortszeit DTSTART: 19970714T173000Z; UTC-Zeit DTSTART; TZID = Amerika/New_York: 19970714T133000 ; Ortszeit und Ortszeit ; zonenreferenz

0

Um die Frage zu beantworten, um dieses Format in JQuery zu konvertieren, können Sie Folgendes tun.

var n = d.toISOString(); 
-1

Es ist fast wie 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'