Tim*_*Tim 16
现有的答案将告诉您当前的时区偏移量,但如果您要比较历史/未来时间点,则会遇到问题,因为这不符合夏令时的变化.
在许多时区中,偏移量在一年中变化,这些变化发生在不同日期或根本不发生,具体取决于纬度.如果您只有UTC时间和偏移量,那么在一年中的其他不同时间,您永远无法确定该位置的偏移量.
例如,UTC + 2:00偏移可以指夏季的巴塞罗那或全年的象牙海岸.2小时的偏移量将始终显示在象牙海岸的正确时间,但在巴塞罗那的半年内将持续1小时.
我们如何迎合所有这些时区问题?嗯,这很简单:
在JavaScript中,您可以使用Moment Timezone来猜测用户时区,尽管我只是在浏览器中对此进行了测试:
Intl.DateTimeFormat().resolvedOptions().timeZone // eg. 'America/Chicago'
Run Code Online (Sandbox Code Playgroud)
然后,您可以在Moment Timezone中使用此时区字符串来帮助抵消捕获的UTC时间.
这很简单。
var x = new Date();
var offset= -x.getTimezoneOffset();
console.log((offset>=0?"+":"-")+parseInt(offset/60)+":"+offset%60)
Run Code Online (Sandbox Code Playgroud)
而且没有别的,或者您可以看看momentJS是否可以帮助您。
console.log("test ...")
let d = new Date()
console.log("UTC time " + d)
let ank = d.toLocaleString('en-US', { timeZone: 'America/Anchorage' });
console.log("your time zone " + ank)
Run Code Online (Sandbox Code Playgroud)
ls /usr/share/zoneinfo
Run Code Online (Sandbox Code Playgroud)
无论夏令时问题等如何,您都会获得正确的时间文本。
在几乎所有服务器上,mysql也需要知道tz信息。
基本上解决方案是,在外壳上
sudo mysql_tzinfo_to_sql /usr/share/zoneinfo | mysql mysql
..谷歌更多有关它的信息。
| 归档时间: |
|
| 查看次数: |
24963 次 |
| 最近记录: |