如何使用 Javascript Date 对象计算特定日期之前的天数
作者:互联网
创建新的 Date 对象
获得今天的日期很容易。只需使用 Date 对象的构造函数:
// Get today's date
const now = new Date();
// Sun Nov 13 2022 18:28:22 GMT-0500 (Eastern Standard Time)
若要创建不同的日期(例如圣诞节),请使用不同的构造函数,其中日期由字符串指定:
// Make a date object for christmas
const christmas = new Date("Dec 25, 2022 00:00:00")
如何从日期获取年、月或日。
现在我们在 Date 对象中有了时间,使用 Date 的方法查找年、月或日就像简单一样:
const year = christmas.getFullYear() \\ 2022
const month = christmas.getMonth()\\ 11 - Get month as a number (0-11)
其他方法
- getFullYear() 获取四位数字的年份 (yyyy)
- getMonth() 获取月份作为数字 (0-11)
- getDate() 获取数字形式的日期 (1-31)
- getDay() 获取工作日作为数字 (0-6)
- 获取小时() 获取小时 (0-23)
- 获取分钟() 获取分钟数 (0-59)
- getSeconds() Get Second (0-59)
- 获取毫秒() 获取毫秒 (0-999)
- getTime() 获取时间(自 1970 年 1 月 1 日起的毫秒数)
现在我们知道了Date的方法,获取两个日期之间的毫秒差异就像:
const msUntilChristmas = christmas.getTime() - now.getTime();
通过除以每天的毫秒数,可以很容易地转换为圣诞节前的天数:
const daysUntilChristmas = Math.floor(msUntilChristmas / (1000 * 60 * 60 * 24));
\\ use Math.floor() to round down
\\ 1000 ms per second
\\ 60 seconds per minute
\\ 60 minutes per hour
\\ 24 hours per day
console.log(`${daysUntilChristmas} days!`) /// 41 days!
现在,即使有闰年,您也可以计算圣诞节前的确切天数!使用上面解释的相同概念,您可以计算到您选择的任何一天或时间为止或自那时以来的天数、小时数甚至分钟数!