JavaScript 日期格式
JavaScript 日期输入
一般来说,有 3 种 JavaScript 日期输入格式
类型 | 示例 |
---|---|
ISO 日期 | "2015-03-25"(国际标准) |
短日期 | "03/25/2015" |
长日期 | "Mar 25 2015" 或 "25 Mar 2015" |
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 月 01 日之间变化。
ISO 日期(仅年份)
ISO 日期可以写成不指定月份和日期的形式 (YYYY)
时区将使上面的结果在 2014 年 12 月 31 日和 2015 年 1 月 01 日之间变化。
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 = 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");
JavaScript 长日期。
长日期最常使用 "MMM DD YYYY" 语法编写,例如
月份和日期可以按任意顺序
并且,月份可以完整写出(January),也可以缩写(Jan)
逗号被忽略。名称不区分大小写
日期输入 - 解析日期
如果您有一个有效的日期字符串,可以使用 Date.parse()
方法将其转换为毫秒。
Date.parse()
返回日期和 1970 年 1 月 1 日之间的毫秒数
然后,您可以使用毫秒数将其 **转换为日期** 对象