JavaScript 日期输入格式一般有 3 种类型:
类型 | 示例 |
---|---|
ISO日期 | "2015-03-25"(国际标准) |
短日期 | "03/25/2015" |
长日期 | "Mar 25 2015" 或 "25 Mar 2015" |
ISO 格式遵循严格的 JavaScript 标准。
其他格式定义不那么明确,可能是特定于浏览器的。
无论输入格式如何,JavaScript 都会(默认情况下)以全文字符串格式输出日期:
ISO 8601 是日期和时间表示的国际标准。
ISO 8601 语法 (YYYY-MM-DD) 也是首选的 JavaScript 日期格式:
计算出的日期将与您的时区相关。
根据您所在时区的不同,上述结果在 3 月 24 日至 3 月 25 日期间会有所不同。
可以在不指定日期的情况下写入 ISO 日期 (YYYY-MM):
2 月 28 日至 3 月 1 日期间,时区会使上述结果有所不同。
ISO 日期可以不写月份和日期 (YYYY):
2014 年 12 月 31 日至 2015 年 1 月 1 日期间,上述结果将因时区而异。
ISO 日期可以加上小时、分钟和秒 (YYYY-MM-DDTHH:MM:SSZ):
日期和时间用大写 T 分隔。
UTC 时间用大写字母 Z 定义。
如果要修改相对于 UTC 的时间,请删除 Z 并添加 +HH:MM 或 -HH:MM:
UTC(世界协调时间)与 GMT(格林威治标准时间)相同。
在日期时间字符串中省略 T 或 Z 可能会在不同的浏览器中产生不同的结果。
设置日期时,如果不指定时区,JavaScript 将使用浏览器的时区。
获取日期时,如果不指定时区,结果将转换为浏览器的时区。
换句话说:如果日期/时间是在 GMT(格林威治标准时间)中创建的,则当用户从美国中部浏览时,该日期/时间将转换为 CDT(美国中部夏令时间)。
短日期使用 "MM/DD/YYYY" 语法编写,如下所示:
在某些浏览器中,没有前导零的月份或日期可能会产生错误:
const d = new Date("2015-3-25");
"YYYY/MM/DD" 的行为未定义。
有些浏览器会尝试猜测格式。有些会返回 NaN。
const d = new Date("2015/03/25");
"DD-MM-YYYY" 的行为也是未定义的。
有些浏览器会尝试猜测格式。有些会返回 NaN。
const d = new Date("25-03-2015");
长日期通常使用 "MMM DD YYYY" 语法编写,如下所示:
月和日可以按任意顺序排列:
并且,月份可以写成完整的(January),或缩写的(Jan):
逗号被忽略。名称不区分大小写:
如果您有有效的日期字符串,则可以使用 Date.parse()
方法将其转换为毫秒。
Date.parse()
返回该日期与 1970 年 1 月 1 日之间的毫秒数:
然后您可以使用毫秒数来将其转换为日期目的:
截取页面反馈部分,让我们更快修复内容!也可以直接跳过填写反馈内容!