2012-05-09 13 views
6

के लिए स्वरूपण समय मैंने jquery में कैलेंडर बनाया है जो ical को निर्यात करता है। हालांकि, मुझे डेटाटाइम के साथ कुछ समस्याएं हैं।ical निर्यात

ical निर्यात स्क्रिप्ट इस प्रारूप में दिनांक/समय की अपेक्षा करता है: 19970714T170000Z।

क्या कोई जानता है कि यह क्या है और मुझे अपनी स्ट्रिंग कैसे तैयार करनी चाहिए?

धन्यवाद

उत्तर

9

पढ़ना आरएफसी (link) देता है:

3.3.5। दिनांक समय

[...]

तिथि-समय = तारीख "टी" समय

"तिथि-समय" मान प्रकार तीन रूपों में समय मान को व्यक्त करता है:

फार्म # 1: 19980118T230000

फार्म # 2:: UTC समय बड़े अक्षर जेड प्रत्यय चरित्र के साथ तिथि, टिम को स्थानीय समय उदाहरण के लिए, निम्नलिखित, 18 जनवरी, 1998 का ​​प्रतिनिधित्व करता है रात 11 बजे के साथ तिथि ई मूल्य 19980119T070000Z

फार्म # 3:: स्थानीय समय और समय क्षेत्र संदर्भ के साथ तिथि TZID = America/New_York: 19980119T020000

DTSTART: 19970714T133000
उदाहरण के लिए, निम्नलिखित 0700 यूटीसी पर, 19 जनवरी 1998 का ​​प्रतिनिधित्व करता है ; स्थानीय समय डीटीएसटीएआरटी: 19970714T173000Z; यूटीसी समय डीटीएसटीएआरटी; टीजेआईडी = अमेरिका/न्यू_वायर्क: 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' 
है
संबंधित मुद्दे