今天过去了多少秒?
重要性: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() );