此代码比较2个时间-当前时间和截止时间。
// Get current date/time
var now = new Date();
// Set up deadline date/time
var deadline = new Date(); //deadline is 1830hrs;
deadline.setHours(18);
deadline.setMinutes(30);
// Check if the current time is after the deadline
if( now > deadline ) {
console.log('after deadline');
}
else {
console.log('before deadline');
}
它可以在我的本地计算机上,其中
now
和deadline
处于同一时区。如果代码在now
时区与要比较的deadline
时区不同的服务器上运行怎么办?当now
可以是任何时区并且deadline
处于亚洲/香港时区时,该如何处理?编辑:创建
deadline
时是否有某种方法可以指定时区?我认为这是一个可能的解决方案。 最佳答案
当您在JS中创建两个客户端时,都不会出现这种情况。因为这两个时间都会从同一个客户端读取时间。
但是,无论如何,如果任何时间来自位于另一个时区的服务器(当然是字符串形式),而客户端位于另一个时区,则有可能发生这种情况。
现在您的方法是将两个日期都转换为特定的时区(任意)。
然后进行比较。
您可以使用This库在JS中转换时区。
并从This Thread获得帮助。