Jvavscript- 跟着李南江学编程

JavaScript 日期输出
默认情况下,JavaScript 将使用浏览器的时区并将日期显示为全文本字符串:

Tue Apr 02 2019 09:01:19 GMT+0800 (中国标准时间)
稍后,您将在本教程学到更多关于如何显示日期的知识。

创建 Date 对象
Date 对象由新的 Date() 构造函数创建。

有 4 种方法创建新的日期对象:

new Date()
new Date(year, month, day, hours, minutes, seconds, milliseconds)
new Date(milliseconds)
new Date(date string)
new Date()
new Date() 用当前日期和时间创建新的日期对象:

实例
var d = new Date();

日期对象是静态的。计算机时间正在滴答作响,但日期对象不会。

new Date(year, month, …)
new Date(year, month, …) 用指定日期和时间创建新的日期对象。

7个数字分别指定年、月、日、小时、分钟、秒和毫秒(按此顺序):

实例
var d = new Date(2018, 11, 24, 10, 33, 30, 0);

注释:JavaScript 从 0 到 11 计算月份。

一月是 0。十二月是11。

6个数字指定年、月、日、小时、分钟、秒:

实例
var d = new Date(2018, 11, 24, 10, 33, 30);

5个数字指定年、月、日、小时和分钟:

实例
var d = new Date(2018, 11, 24, 10, 33);

4个数字指定年、月、日和小时:

实例
var d = new Date(2018, 11, 24, 10);

3 个数字指定年、月和日:

实例
var d = new Date(2018, 11, 24);

2个数字指定年份和月份:

实例
var d = new Date(2018, 11);

您不能省略月份。如果只提供一个参数,则将其视为毫秒。

实例
var d = new Date(2018);

上个世纪
一位和两位数年份将被解释为 19xx 年:

实例
var d = new Date(99, 11, 24);

实例
var d = new Date(9, 11, 24);

new Date(dateString)
new Date(dateString) 从日期字符串创建一个新的日期对象:

实例
var d = new Date(“October 13, 2014 11:13:00”);

日期字符串将在下一章中介绍。

JavaScript 将日期存储为毫秒
JavaScript 将日期存储为自 1970 年 1 月 1 日 00:00:00 UTC(协调世界时)以来的毫秒数。

零时间是 1970 年 1 月 1 日 00:00:00 UTC。

现在的时间是:1970 年 1 月 1 日之后的 1554166879383 毫秒。

new Date(milliseconds)
new Date(milliseconds) 创建一个零时加毫秒的新日期对象:

实例
var d = new Date(0);

1970年 1 月 1 日加上100 000 000 000毫秒,大约是 1973 年 3 月 3 日:

实例
var d = new Date(100000000000);

1970 年 1 月 1 日减去 100 000 000 000 毫秒大约是 1966 年 10 月 31 日:

实例
var d = new Date(-100000000000);

实例
var d = new Date(86400000);

一天(24 小时)是 86 400 000 毫秒。

日期方法
创建 Date 对象时,可以使用许多方法对其进行操作。

日期方法允许您使用本地时间或 UTC(通用或 GMT)时间来获取和设置日期对象的年、月、日、小时、分钟、秒和毫秒。

日期方法和时区将在下一章中介绍。

显示日期
JavaScript(默认情况下)将以全文本字符串格式输出日期:

Wed Mar 25 2015 08:00:00 GMT+0800 (中国标准时间)
在 HTML 中显示日期对象时,会使用 toString() 方法自动转换为字符串。

实例
d = new Date();
document.getElementById(“demo”).innerHTML = d;
亲自试一试
等同于:

d = new Date();
document.getElementById(“demo”).innerHTML = d.toString();
亲自试一试
toUTCString() 方法将日期转换为 UTC 字符串(一种日期显示标准)。

实例
var d = new Date();
document.getElementById(“demo”).innerHTML = d.toUTCString();
亲自试一试
toDateString() 方法将日期转换为更易读的格式:

实例
var d = new Date();
document.getElementById(“demo”).innerHTML = d.toDateString();

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

Mon Feb 19 2018 06:00:00 GMT+0800 (中国标准时间)
JavaScript ISO 日期
ISO 8601 是表现日期和时间的国际标准。

ISO 8601 语法 (YYYY-MM-DD) 也是首选的 JavaScript 日期格式:

实例(完整日期)
var d = new Date(“2018-02-19”);
亲自试一试
计算的日期相对于您的时区。

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

ISO 日期(年和月)
写日期也可以不规定具体某日 (YYYY-MM):

var d = new Date(“2015-03”);
亲自试一试
时区会对结果在 2 月 28 日至 3 月 1 日之间产生变化。

ISO 日期(只有年)
写日期也可以不规定具体的月和日 (YYYY):

var d = new Date(“2018”);
亲自试一试
时区会对结果在 2017 年 12 月 31 日至 2018 年 1 月 1 日之间产生变化。

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,在不同浏览器中会产生不同结果。

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

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

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

JavaScript 短日期
短日期通常使用 “MM/DD/YYYY” 这样的语法:

实例
var d = new Date(“02/19/2018”);
亲自试一试
警告
在某些浏览器中,不带前导零的月或其会产生错误:

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”);
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”);
亲自试一试
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)”);

我正在跟着江哥学编程, 更多前端+区块链课程: www.it666.com

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值