我正在开发一个网络应用程序,用户可以在应用程序中设置他/她的时区,该时区进一步在应用程序中用于各种日期时间转换。所选时区可以与用户的区域设置时区不同。
我目前遇到一个问题,我需要将用户选择的日期(用户假设位于他/她在应用程序中选择的时区)与当前日期进行比较,以查看所选日期是否是日期在未来。引用我搜索过的所有地方,我发现我可以获取用户区域设置或 UTC 时间中的当前日期。
所以我的问题的要点是 - 有没有办法使用时区缩写将日期从一个时区转换为另一个时区?
在发帖之前我已经搜索了很多,但找不到任何解决方案。我在搜索过程中发现的大多数地方都表明没有这样的解决方案可用。
我尝试过使用 date.js,但它不能满足目的,因为它已经过时了,而且它支持的时区缩写也是非常有限的。我还查看了 timezoneJS,但我认为它不适用于时区缩写。
有什么方法可以使用javascript或jquery来完成它吗?
最佳答案
给你:
// calculate local time in a different city given the city's UTC offset
function calcTime(city, offset) {
// create Date object for current location
var date = new Date();
// convert to msec
// add local time zone offset
// get UTC time in msec
var utc = date.getTime() + (date.getTimezoneOffset() * 60000);
// create new Date object for different city
// using supplied offset
var newDate = new Date(utc + (3600000 * offset));
// return time as a string
return "The local time in " + city + " is " + newDate.toLocaleString();
}
// get Bombay time
console.log(calcTime('Bombay', '+5.5'));
// get Singapore time
console.log(calcTime('Singapore', '+8'));
// get London time
console.log(calcTime('London', '+1'));
关于javascript - 使用时区缩写将一个时区的日期转换为另一时区,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17085351/