JavaScript 日期格式化

javascript 日期格式化

有四种 javascript 日期输入格式:

类型 范例
iso 日期 "2018-02-19" (国际标准)
短日期 "02/19/2018" 或者 "2018/02/19"
长日期 "feb 19 2018" 或者 "19 feb 2019"
完整日期 "monday february 25 2015"

iso 格式遵守 javascript 中的严格标准。

其他格式不太明确,可能是浏览器特定的。

 

1. javascript 日期输出

无论输入格式如何,javascript 默认将输出全文本字符串格式:

mon feb 19 2018 06:00:00 gmt+0800 (中国标准时间)

 

2. javascript iso 日期

iso 8601 是表现日期和时间的国际标准。

iso 8601 语法 (yyyy-mm-dd) 也是首选的 javascript 日期格式:

范例(完整日期)

var d = new date("2018-02-19");

计算的日期相对于您的时区。

根据您的时区,上面的结果将在 2 月 18 日至 2 月 19 日之间变化。

 

3. iso 日期(年和月)

写日期也可以不规定具体某日 (yyyy-mm):

var d = new date("2015-03");

时区会对结果在 2 月 28 日至 3 月 1 日之间产生变化。

 

4. iso 日期(只有年)

写日期也可以不规定具体的月和日 (yyyy):

var d = new date("2018");

时区会对结果在 2017 年 12 月 31 日至 2018 年 1 月 1 日之间产生变化。

 

5. iso 日期(完整的日期加时、分和秒)

写日期也可以添加时、分和秒 (yyyy-mm-ddthh:mm:ss):

var d = new date("2018-02-19t12:00:00");

日期和时间通过大写字母 t 来分隔。

utc 时间通过大写字母 z 来定义。

如果您希望修改相对于 utc 的时间,请删除 z 并用 +hh:mm 或 -hh:mm 代替:

范例

var d = new date("2018-02-19t12:00:00-08:30");

utc(universal time coordinated)等同于 gmt(格林威治时间)。

注释:utc,协调世界时,又称世界统一时间,世界标准时间,国际协调时间。

在日期-时间字符串中省略 t 或 z,在不同浏览器中会产生不同结果。

 

6. 时区

在设置日期时,如果不规定时区,则 javascript 会使用浏览器的时区。

当获取日期时,如果不规定时区,则结果会被转换为浏览器时区。

换句话说,假如日期/时间以 gmt(格林威治标准时间)创建,该日期/时间将被转换为 cst(中国标准时间),如果用户从中国进行浏览。

 

7. javascript 短日期

短日期通常使用 "mm/dd/yyyy" 这样的语法:

范例

var d = new date("02/19/2018");

 

8. 警告

在某些浏览器中,不带前导零的月或其会产生错误:

var d = new date("2018-2-19");

“yyyy / mm / dd”的行为未定义。

有些浏览器会尝试猜测格式。有些会返回 nan

var d = new date("2018/02/19");

“dd-mm-yyyy”的行为也是未定义的。

有些浏览器会尝试猜测格式。有些会返回 nan

var d = new date("19-02-2018");

 

9. javascript 长日期

长日期通常以 "mmm dd yyyy" 这样的语法来写:

范例

var d = new date("feb 19 2018");

月和天能够以任意顺序出现:

范例

var d = new date("19 feb 2018");

并且,月能够以全称 (january) 或缩写 (jan) 来写:

范例

var d = new date("february 19 2018");

范例

var d = new date("feb 19 2018");

逗号会被忽略,且对大小写不敏感:

范例

var d = new date("february, 25, 2015");

 

10. javascript 完整日期

javascript 接受“完整 javascript 格式”的日期字符串:

范例

var d = new date("mon feb 19 2018 06:55:23 gmt+0100 (w. europe standard time)");

javascript 会忽略日期名称和时间括号中的错误:

范例

var d = new date("fri mar 26 2018 09:56:24 gmt+0100 (tokyo time)");

下一节:js 获取日期方法

js 教程

相关文章