没问题,下面就给您详细讲解"JS时间日期和毫秒的相互转换"的完整攻略。
1. 介绍
在JS中,时间和日期是常用的数据类型。通常情况下,我们需要将时间和日期转成毫秒数以进行计算或者存储,也需要将毫秒数转换为可读的时间和日期表现。
2. 时间与毫秒的转换
2.1 时间转换为毫秒数
在JS中,我们可以利用Date对象的getTime()方法来将时间转换为毫秒数。getTime()方法返回自1970年1月1日 00:00:00 UTC至当前时间的毫秒数,并将其保存在一个变量中,示例如下:
var now = new Date();
var milliseconds = now.getTime();
console.log(milliseconds); // 输出当前时间的毫秒数
2.2 毫秒数转换为时间
同样地,我们也可以利用Date对象的构造函数来将毫秒数转换为时间。将毫秒数作为参数传入Date对象的构造函数,返回表示该毫秒数的Date对象。可以使用Date对象的各种方法访问该对象的年份、月份、日期、小时、分钟及秒数,示例如下:
var milliseconds = 1620398462808; // 毫秒数
var date = new Date(milliseconds); // 根据毫秒数创建Date对象
console.log(date); // 输出Date对象的默认格式
console.log(date.toLocaleDateString()); // 输出本地日期(格式:2021/5/7)
console.log(date.toLocaleTimeString()); // 输出本地时间(格式:上午1:47:42)
3. 日期与毫秒的转换
3.1 日期转换为毫秒数
与时间转换相似,我们可以使用Date对象的getTime()方法将日期转换为毫秒数,示例如下:
var dateStr = "2021-05-07";
var milliseconds = new Date(dateStr).getTime();
console.log(milliseconds); // 输出 1620374400000
3.2 毫秒数转换为日期
同样地,我们也可以利用Date对象的构造函数将毫秒数转换为日期。
var milliseconds = 1620374400000; // 毫秒数
var date = new Date(milliseconds); // 根据毫秒数创建Date对象
console.log(date.toLocaleDateString()); // 输出本地日期(格式:2021/5/7)
4. 示例
下面是一个示例,它演示了如何计算两个日期之间的时间间隔。在该示例中,我们将两个日期分别转换为毫秒数,然后计算它们之间的差。最后,我们将毫秒数差值转换为可读的时间间隔。
function getInterval(start, end) {
var milliseconds = end.getTime() - start.getTime();
var seconds = Math.floor(milliseconds / 1000);
var minutes = Math.floor(seconds / 60);
var hours = Math.floor(minutes / 60);
var days = Math.floor(hours / 24);
var interval = {
days: days,
hours: hours % 24,
minutes: minutes % 60,
seconds: seconds % 60,
};
return interval;
}
var start = new Date("2021-05-01");
var end = new Date("2021-05-08");
var interval = getInterval(start, end);
console.log(interval); // 输出:{days: 7, hours: 0, minutes: 0, seconds: 0}
5. 总结
本文介绍了JS中日期和毫秒数的互转。我们可以使用Date对象的getTime()方法将日期和时间转换为毫秒数,使用Date对象的构造函数将毫秒数转换为日期和时间。在计算时间差时,我们可以将日期转换为毫秒数并计算差值,最后将差值转换为可读的时间间隔。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:js时间日期和毫秒的相互转换 - Python技术站