返回课程

今天过去了多少秒?

重要性:5

编写一个函数 getSecondsToday(),该函数返回从今天开始的秒数。

例如,如果现在是 上午 10:00,并且没有夏令时变化,那么

getSecondsToday() == 36000 // (3600 * 10)

该函数应该在任何一天都起作用。也就是说,它不应该包含“今天”的硬编码值。

为了获得秒数,我们可以使用当前日期和时间 00:00:00 生成一个日期,然后从“现在”减去它。

差值是从当天开始的毫秒数,我们应该除以 1000 来获得秒数

function getSecondsToday() {
  let now = new Date();

  // create an object using the current day/month/year
  let today = new Date(now.getFullYear(), now.getMonth(), now.getDate());

  let diff = now - today; // ms difference
  return Math.round(diff / 1000); // make seconds
}

alert( getSecondsToday() );

另一种解决方案是获取小时/分钟/秒并将它们转换为秒数

function getSecondsToday() {
  let d = new Date();
  return d.getHours() * 3600 + d.getMinutes() * 60 + d.getSeconds();
}

alert( getSecondsToday() );