Javascript 检查 unix 时间戳是否 > 24 小时后?
Javascript check if unix timestamp > 24hours from now?
是否有任何简单的方法来检查 unix 时间戳(例如:1442957750)是否是距现在 > 24 小时的时间?我在从 linux 时间戳转换为 JS 可以处理的内容时遇到问题
谢谢!
Unix风格的时间戳可以在JavaScript中使用,但需要乘以1000将其从秒转换为毫秒。
new Date(1442957750000) // Tue Sep 22 2015 16:35:50 GMT-0500 (Central Daylight Time)
24 小时等于 86,400,000 毫秒。你可以从那里做数学。记住夏令时等等。并非所有的日子都是平等的。
(new Date(new Date() + (1000 * 60 * 60 * 24)) - new Date(1442957750 * 1000)) < 0
unix_timestamp > (Date.now() + 24*60*60*1000)/1000
必须将js时间戳从毫秒转换为秒。
要处理诸如夏令时之类的事情,您可以使用 JavaScript 日期 API 将日期设置为比当前时间早一天:
var oneDayFromNow = new Date();
oneDayFromNow.setDate(oneDayFromNow.getDate() + 1);
然后你可以从 Linux 时间戳值创建一个 Date 实例并检查哪个更大:
var linuxDate = new Date(linuxTimestamp * 1000);
if (linuxDate >= oneDayFromNow) {
// linux date is a day or more in the future
}
通过让 JavaScript 运行时将日期提前一天,您可以让它使用了解当地夏令时等的内置代码。
我认为它解决了你的问题,只需将两个时间都转换为 JS。
function convertUnixDate(date, multiplier = 1000){
let isSecond = !(date > (Date.now() + 24 * 60 * 60 * 1000) / 1000)
return date
? isSecond
? new Date(date * multiplier)
: new Date(date)
: null
};
console.log(convertUnixDate(1522355774))
console.log(convertUnixDate(1522355774000))
console.log(convertUnixDate(null)) // Return the now() is an improvement.
[]的
是否有任何简单的方法来检查 unix 时间戳(例如:1442957750)是否是距现在 > 24 小时的时间?我在从 linux 时间戳转换为 JS 可以处理的内容时遇到问题
谢谢!
Unix风格的时间戳可以在JavaScript中使用,但需要乘以1000将其从秒转换为毫秒。
new Date(1442957750000) // Tue Sep 22 2015 16:35:50 GMT-0500 (Central Daylight Time)
24 小时等于 86,400,000 毫秒。你可以从那里做数学。记住夏令时等等。并非所有的日子都是平等的。
(new Date(new Date() + (1000 * 60 * 60 * 24)) - new Date(1442957750 * 1000)) < 0
unix_timestamp > (Date.now() + 24*60*60*1000)/1000
必须将js时间戳从毫秒转换为秒。
要处理诸如夏令时之类的事情,您可以使用 JavaScript 日期 API 将日期设置为比当前时间早一天:
var oneDayFromNow = new Date();
oneDayFromNow.setDate(oneDayFromNow.getDate() + 1);
然后你可以从 Linux 时间戳值创建一个 Date 实例并检查哪个更大:
var linuxDate = new Date(linuxTimestamp * 1000);
if (linuxDate >= oneDayFromNow) {
// linux date is a day or more in the future
}
通过让 JavaScript 运行时将日期提前一天,您可以让它使用了解当地夏令时等的内置代码。
我认为它解决了你的问题,只需将两个时间都转换为 JS。
function convertUnixDate(date, multiplier = 1000){
let isSecond = !(date > (Date.now() + 24 * 60 * 60 * 1000) / 1000)
return date
? isSecond
? new Date(date * multiplier)
: new Date(date)
: null
};
console.log(convertUnixDate(1522355774))
console.log(convertUnixDate(1522355774000))
console.log(convertUnixDate(null)) // Return the now() is an improvement.
[]的