以mysql格式获取不同时区的UTC时间
Get UTC time for different timezone in mysql format
使用dateObj.toISOString().slice(0, 19).replace('T', ' ')
,我们可以用javascript将日期对象转换为mysql日期时间格式。但时区始终被视为客户端(浏览器)的时区。
我想将不同时区(而不是浏览器的时区)的日期和时间转换为UTC时间,然后转换为mysql时间格式。
例如:爱丽丝正在安排从悉尼到纽约开会。Alice输入纽约时间作为输入。即使浏览器的位置是悉尼,javascript代码也必须假设浏览器的位置在纽约,并将日期时间转换为UTC,然后转换为mysql格式。
我可以用dateObj.toLocaleString('en-US', { timeZone: 'America/New_York'})
获取当前纽约时间。但不确定下一步该怎么办。考虑到时差似乎是一件需要做的事情。。。
有人知道怎么做吗?
因此,您希望始终将日期存储在事件发生位置的utc表示中。
保存:您知道Alice将其时区设置为特定值,因此,您需要将Alice的时区转换为UTC。如果Alice输入了11:59:59 PM作为会议时间,则存储的时间将为格林尼治标准时间,即+4/5小时,具体取决于是否遵守夏令时。听起来,使用您的解决方案,您需要像dateTimeUTC=FromSpecificTimeZoneToUTC(specificTimeZoneDateTime,'Eastern Standard Time')
这样的功能
dateObj.toLocaleString('en-US', { timeZone: '<TimeZone name for GMT>'})
查看:爱丽丝现在已经将这里的时区信息调整为太平洋标准时间,即GMT-8。由于我们知道事件发生在格林尼治标准时间凌晨3:59:59,我们需要一个函数将UTC转换回特定时间PST,这将在Alices更改的配置中产生7:59:59 PM。dateTimeSpecific=FromUTCToSpecificTimeZone(uTCTimeZoneDateTime,'Pacific Standard Time')
在我的文章中,在服务器端处理这样的转换可能会更好,因为你可以控制tz信息。我认为js可能太不一致了,因为时间信息是基于客户端计算机的区域设置,而不是操作的首选时区。此外,时区信息可能会更改。我不知道js是如何处理这些更改的。
- 时刻时区:UTC 偏移量差异
- 如何在时间标签和相同的类中以UTC格式重新格式化ISO 8601时间戳,并通过JavaScript根据用户区域设置和时区
- 如何将 UTC 日期时间(字符串)转换为访问者时区
- 将时区格式的日期显示为UTC时间
- DateTime从UTC转换为其他时区
- 我的UTC时区函数未使用innerHTML显示在HTML上
- 如何将UTC时间字符串转换为本地时区中正确的moment.js对象
- 使用mommtjs将某个时区的时间转换为UTC
- 在 JavaScript 中给定时区字符串的情况下计算 UTC 偏移量
- 如何在 javascript 中获取指定时区的一天的开始时间和结束时间(以 UTC 为单位)
- 将 jquery-ui-timepicker.js 的“Now”按钮设置为 UTC 时区
- 如何在 javascript 中使用系统时区和 UTC 时间从服务器获取当前本地时间
- 在 UTC 和特定时区之间转换时间 - 新的国际化 API
- 转换日期&PST时区到UTC的时间
- 如何使用moment.js和moment-timezone.js将特定时区(非本地)的给定日期/时间转换为UTC
- 获取UTC时区's在javascript中的时间戳
- JavaScript Date.UTC 在不同的时区给出错误的日期
- 在MVC视图中使用JavaScript将UTC时间转换为客户端浏览器的时区
- javascript将IE中的UTC时间转换为本地时区
- 将UTC中的Epoch转换为当前时区日期