肉渣教程

JS Date日期

上一节 下一节

JavaScript内置的Date对象是专门用来存储日期时间的变量

var d = new Date();

运行一下


JavaScript Date对象

默认情况下,JavaScript中的Date对象会以如下一段字符串的形式输出:


后面会介绍Date类对象其他的各种输出形式


Date对象 - 概览

先概览一下Date对象:

创建Date对象

可用new Date()构造器来创建Date对象,具体则有4种方式来创建Date对象:

new Date()
new Date( year, month, day, hours, minutes, seconds, milliseconds )
new Date( milliseconds )
new Date( date string )


案例1 new Date()

通过new Date()来创建一个带有当前时刻的日期和时间的Date对象。

var d = new Date();


案例2 new Date( year, month, ... )

根据指定的日期时刻来创建Date对象;传入的参数按顺序依次是:年、月、日、小时、分钟、秒、毫秒。而这些参数都是可以缺省的:

  • 7个参数 - 年、月、日、小时、分钟、秒、毫秒
  • 6个参数 - 年、月、日、小时、分钟、秒
  • 5个参数 - 年、月、日、小时、分钟
  • 4个参数 - 年、月、日、小时
  • 3个参数 - 年、月、日
  • 2个参数 - 年、月
  • 1个参数 - 毫秒

new Date()只接收1个参数时,则接收的不是年,而是毫秒,针对1970年1月1日北京时间上午8点整开始计数(用UTC时间来算,就是1970年1月1日0点0分0秒)。


但是要注意的是:一月到十二月份是由0~11来代表的,0代表一月份,11代表十二月份

var d1 = new Date(2099, 0, 1, 10, 24, 16, 0);
var d2 = new Date(2099, 0, 1, 10, 24, 16);
var d3 = new Date(2099, 0, 1, 10, 24);
var d4 = new Date(2099, 0, 1, 10);
var d5 = new Date(2099, 0, 1);
var d6 = new Date(2099, 0);
var d7 = new Date(2099);  // 不是年,而是毫秒

运行一下

当代表年的参数是1位或2位数时

当代表年的参数是1位数或2位数时,则自动代表19XX,跟自动被加上1900没啥两样。一般来说不会触发,但是还是知道Date构造器的这种特性为佳。

var d1 = new Date(97, 6, 1); // 代表1997年7月1日
var d2 = new Date(1, 0, 1);  // 代表1901年1月1日

运行一下

new Date(dateString)

new Date(dateString)可通过一个符合date规则的字符串来创建新的Date对象。

var d = new Date("October 1, 2018 11:11:11");

运行一下

Date对象的输出

Date对象的输出,常用如下三种方式:


toString()方法(输出时默认自动使用此方法)

toString()方法(等价于默认下直接赋值对象本身)可输出结果类似Tue Dec 11 2018 18:42:37 GMT+0800 (中国标准时间)这种方式:

d = new Date();
document.getElementById("demo").innerHTML = d.toString();

运行一下


toUTCString()方法

toUTCString()方法可输出结果类似Tue, 11 Dec 2018 10:48:15 GMT这种方式:

d = new Date();
document.getElementById("demo").innerHTML = d.toUTCString();

运行一下


toDateString()方法 toDateString()方法可输出结果类似Tue Dec 11 2018这种方式:

d = new Date();
document.getElementById("demo").innerHTML = d.toDateString();

运行一下

Date对象 - Get方法

Date对象提供了一系列方法来调用此对象中蕴含的时间信息。(点击下方即可运行测试


若使用UTC日期与时间,在get和具体的后缀词之间加上UTC即可,常用的方法有:getUTCDate()、getUTCDay()、getUTCFullYear()、getUTCHours()、getUTCMilliseconds()、getUTCMinutes()、getUTCMonth()、getUTCSeconds()。


Date对象 - Set方法

Date对象也提供了不少方法来设置修改日期时间的部分信息。(点击下方即可运行测试


若使用UTC日期与时间,在set和具体的后缀词之间加上UTC即可,常用的方法有:setUTCDate()、setUTCDay()、setUTCFullYear()、setUTCHours()、setUTCMilliseconds()、setUTCMinutes()、setUTCMonth()、setUTCSeconds()。


JavaScript中的Date格式

三种常用的Date格式如下:

类型 Type 示例 专否沙盒
ISO Date "2099-04-19"(这可是国际标准,强烈推荐) 运行一下
Short Date "04/19/2099" 运行一下
Long Date "April 19 2099" 或 "19 April 2099" 运行一下

JS Date日期

上一节 下一节