📜  JavaScript |设置日期方法(1)

📅  最后修改于: 2023-12-03 15:16:08.830000             🧑  作者: Mango

JavaScript | 应用日期方法

JavaScript 提供了多种日期方法,可以用来获取、设置和格式化日期。

获取当前日期和时间

获取当前日期和时间,可以使用 Date() 构造函数,它返回一个 Date 类型的对象。例如:

var now = new Date();
console.log(now);

输出:

Wed Nov 11 2020 11:11:11 GMT+0800 (China Standard Time)

上面的输出中,日期和时间以字符串形式显示,格式为 星期 月 日 年 时:分:秒 时区

可以使用 toLocaleString() 方法将日期和时间转化为本地时间。例如:

var now = new Date();
console.log(now.toLocaleString());

输出:

2020/11/11 下午11:11:11

此时,日期和时间的格式根据系统的本地设置而定。

获取当前日期

获取当前日期,可以使用 getFullYear()getMonth()getDate() 方法。例如:

var now = new Date();
console.log(now.getFullYear() + '/' + (now.getMonth() + 1) + '/' + now.getDate());

输出:

2020/11/11

注意,getMonth() 返回的是月份的索引,从 0 开始计算。因此要加 1 才能得到实际的月份值。

获取当前时间

获取当前时间,可以使用 getHours()getMinutes()getSeconds() 方法。例如:

var now = new Date();
console.log(now.getHours() + ':' + now.getMinutes() + ':' + now.getSeconds());

输出:

23:11:11
设置日期和时间

设置日期和时间,可以使用 setFullYear()setMonth()setDate()setHours()setMinutes()setSeconds() 方法。例如:

var now = new Date();
now.setFullYear(2021);
now.setMonth(0);
now.setDate(1);
console.log(now.toLocaleString());

输出:

2021/1/1 下午11:11:11

上面的代码将日期设置为 2021 年 1 月 1 日。

可以一次性设置年、月、日、时、分、秒等多种信息。例如:

var now = new Date();
now.setFullYear(2021, 0, 1);
now.setHours(0, 0, 0);
console.log(now.toLocaleString());

输出:

2021/1/1 上午12:00:00

上面的代码将日期设置为 2021 年 1 月 1 日 0 时 0 分 0 秒。

计算日期和时间

可以使用 getTime() 方法获取自 1970 年 1 月 1 日 0 时 0 分 0 秒以来的毫秒数。例如:

var now = new Date();
console.log(now.getTime());

输出:

1605087071111

可以使用 Date.parse() 方法将日期字符串转化为毫秒数。例如:

var dateStr = '2021/1/1 00:00:00';
var timestamp = Date.parse(dateStr);
console.log(timestamp);

输出:

1609420800000

可以使用 new Date(timestamp) 构造函数将毫秒数转化为日期对象。例如:

var timestamp = 1609420800000;
var dateObj = new Date(timestamp);
console.log(dateObj.toLocaleString());

输出:

2021/1/1 上午12:00:00

可以使用 getTimezoneOffset() 方法获取本地时区与 UTC 时区的时差,单位为分钟。例如:

var now = new Date();
console.log(now.getTimezoneOffset());

输出:

-480

上面的输出表示本地时区比 UTC 时区早 8 小时。

格式化日期和时间

可以使用 toLocaleDateString()toLocaleTimeString() 方法将日期和时间转化为本地格式化的字符串。例如:

var now = new Date('2021/1/1 00:00:00');
console.log(now.toLocaleDateString());
console.log(now.toLocaleTimeString());

输出:

2021/1/1
上午12:00:00

可以使用 toLocaleString() 方法将日期和时间一次性转化为本地格式化的字符串。例如:

var now = new Date('2021/1/1 00:00:00');
console.log(now.toLocaleString());

输出:

2021/1/1 上午12:00:00

上面的例子中,日期和时间的格式均受到系统的本地设置的影响。

总结

JavaScript 提供了多种日期方法,可以用来获取、设置和格式化日期。开发者根据实际需要选择合适的方法即可。