【笔记】JS的日期和时间

前言

JS的日期和时间学习笔记

创建对象

当前日期和时间

1
var time = new Date();

任意日期和时间

1
var time = new Date(2006, 01);
1
var time = new Date(2006, 01, 02);
1
var time = new Date(2006, 01, 02, 15);
1
var time = new Date(2006, 01, 02, 15, 04);
1
var time = new Date(2006, 01, 02, 15, 04, 05);
1
var time = new Date(2006, 01, 02, 15, 04, 05, 700);

当前时间戳

1
var timestamp = Date.now();

获取年月日时分秒毫秒

  • 月份是从0开始
1
2
3
4
5
6
7
time.getFullYear();
time.getMonth() + 1;
time.getDate();
time.getHours();
time.getMinutes();
time.getSeconds();
time.getMilliseconds();

修改年月日时分秒毫秒

1
2
3
4
5
6
7
time.setFullYear(2006);
time.setMonth(0);
time.setDate(2);
time.setHours(15);
time.setMinutes(4);
time.setSeconds(5);
time.setMilliseconds(700);

修改时间戳

1
time.setTime(<timestamp>);

日期和时间与时间戳互转

日期和时间转换为时间戳

1
var timestamp = time.getTime();
1
var timestamp = time.valueOf();
  • 加法运算符在与日期对象相加时,会自动调用getTime()方法获取时间戳
1
var timestamp = +time;

时间戳转换为日期和时间

1
var time = new Date(<timestamp>);

格式化日期和时间

日期和时间转换为字符串

RFC 2822 标准

日期和时间
包含时区
1
var timeString = time.toString(); // 'Mon Jan 02 2006 15:04:05 GMT+0800 (中国标准时间)'
不包含时区
  • +0时区的格林威治时间
1
var timeString = time.toGMTString(); // 'Mon, 02 Jan 2006 07:04:05 GMT'
  • UTC时间
1
var timeString = time.toUTCString(); // 'Mon, 02 Jan 2006 07:04:05 GMT'
仅日期
1
var timeString = time.toDateString(); // 'Mon Jan 02 2006'
仅时间
1
var timeString = time.toTimeString(); // '15:04:05 GMT+0800 (中国标准时间)'

ISO 8601 标准

日期和时间
包含时区
1
var timeString = time.toISOString(); // '2006-01-02T07:04:05.000Z'
不包含时区
1
var timeString = time.toLocaleString(); // '2006/1/2 15:04:05'
仅日期
1
var timeString = time.toLocaleDateString(); // '2006/1/2'
仅时间
1
var timeString = time.toLocaleTimeString(); // '15:04:05'

字符串转换为日期和时间

1
var time = new Date("2006-01-02 15:04:05");

字符串转换为时间戳

1
var timestamp = Date.parse("2006-01-02 15:04:05");

完成

参考文献

稀土掘金——老陌笔记
CSDN——彭世瑜