7

icalにエクスポートするカレンダーをjqueryで作成しました。ただし、日時に問題があります。

icalエクスポートスクリプトは、次の形式の日付/時刻を想定しています:19970714T170000Z。

誰かがこれが何であるか、そして私が私の弦をどのように準備するべきか知っていますか?

ありがとう

4

3 に答える 3

14

RFC(リンク)を読むと、次のようになります。

3.3.5。日付時刻

[...]

日時=日付「T」時刻

「DATE-TIME」値タイプは、時刻値を次の3つの形式で表します。

フォーム#1:現地時間の日付たとえば、以下は1998年1月18日の午後11時を表します:19980118T230000

フォーム#2:UTC TIME CAPITAL LETTER Zサフィックス文字を使用した日付(時刻の値)。
たとえば、以下は1998年1月19日0700 UTCを表します:19980119T070000Z

フォーム#3:現地時間とタイムゾーン参照の日付TZID = America / New_York:19980119T020000

DTSTART:19970714T133000; 現地時間DTSTART:19970714T173000Z; UTC時間DTSTART;TZID= America / New_York:19970714T133000; 現地時間と時間; ゾーンリファレンス

于 2012-05-09T18:45:15.827 に答える
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'
于 2017-05-31T11:50:24.397 に答える