我在jquery中创建了一个导出到ical的日历。但是,我在日期时间方面遇到了一些问题。
ical导出脚本需要这种格式的日期/时间:19970714T170000Z。
有人知道这是什么以及我应该如何准备我的字符串吗?
由于
答案 0 :(得分:11)
阅读RFC(link) 给出:
3.3.5。日期 - 时间
[...]
日期时间=日期“T”时间
“DATE-TIME”值类型以三种形式表示时间值:
表格#1:日期与当地时间 例如,以下代表1998年1月18日晚上11点: 19980118T230000
表格#2:日期与UTC时间 CAPITAL LETTER Z后缀字符,到时间值。
例如,以下代表1998年1月19日,UTC时间0700: 19980119T070000Z表格#3:具有本地时间和地区参考的日期 TZID =美国/纽约:19980119T020000
DTSTART:19970714T133000;当地时间 DTSTART:19970714T173000Z; UTC时间 DTSTART; TZID =美国/纽约:19970714T133000 ;当地时间和时间 ;区域参考
答案 1 :(得分:0)
因此,要回答在JQuery中转换为此格式的问题,您可以执行以下操作。
var n = d.toISOString();
答案 2 :(得分:-1)
它几乎像是ISOString
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'