浏览器有 4 种方法创建新的日期对象:
- 1.new Date() 默认情况下,JavaScript 将使用浏览器的时区并将日期显示为全文本字符串
var d = new Date();
console.log(d);
// Wed Dec 02 2020 19:04:49 GMT+0800 (中国标准时间)
- 2.new Date(year, month, day, hours, minutes, seconds, milliseconds)
注意点:JavaScript 从 0 到 11 计算月份。
var d = new Date(2018, 11, 24);
console.log(d);
// Mon Dec 24 2018 00:00:00 GMT+0800 (中国标准时间)
- new Date(date string)
注意点:月份是真实月份,时间是当前时区时间
var d = new Date("2018-11-24");
console.log(d);
// Sat Nov 24 2018 08:00:00 GMT+0800 (中国标准时间)
- new Date(milliseconds) JavaScript 将日期存储为自 1970 年 1 月 1 日 00:00:00 UTC(协调世界时)以来的毫秒数。
var d = new Date("2018-11-24"); // 详细内容见下面
console.log(d);
// Sat Nov 24 2018 08:00:00 GMT+0800 (中国标准时间)
// 计算的日期相对于您的时区。
// 根据您的时区,上面的结果将在 11月23日至11月24日之间变化
常用日期格式
有四种 JavaScript 日期输入格式:
| 类型 | 实例 |
|---|---|
| ISO 日期 | "2018-02-19" (国际标准) |
| 短日期 | "02/19/2018" 或者 "2018/02/19" |
| 长日期 | "Feb 19 2018" 或者 "19 Feb 2019" |
| 完整日期 | "Monday February 25 2015" |
日期常用的方法
var d = new Date(2018, 11, 24);
console.log("toString:",d.toString());
console.log("toDateString:",d.toDateString());
console.log("toLocaleDateString:",d.toLocaleDateString());
console.log("toTimeString:",d.toTimeString());
console.log("toLocaleTimeString:",d.toLocaleTimeString());
console.log("toUTCString:",d.toUTCString());
// 结果如下:
toString: Mon Dec 24 2018 00:00:00 GMT+0800 (中国标准时间)
toDateString: Mon Dec 24 2018
toLocaleDateString: 2018/12/24
toTimeString: 00:00:00 GMT+0800 (中国标准时间)
toLocaleTimeString: 上午12:00:00
时区
在设置日期时,如果不规定时区,则 JavaScript 会使用浏览器的时区。 当获取日期时,如果不规定时区,则结果会被转换为浏览器时区。 换句话说,假如日期/时间以 GMT(格林威治标准时间)创建,该日期/时间将被转换为 CST(中国标准时间),如果用户从中国进行浏览,所以最好使用字符串。