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