And*_*w R 6 javascript timezone datetime
我正在使用以下代码以正确的格式获取当前的UTC时间,但客户端已经回来并要求时间戳现在是EST而不是UTC.我搜索过Google和stackoverflow,但无法找到适合我现有代码的答案.
var currentdate = new Date();
var datetime = currentdate.getFullYear() + ":"
+ ("0" + (currentdate.getUTCMonth()+1)).slice(-2) + ":"
+ ("0" + currentdate.getUTCDate()).slice(-2) + ":"
+ ("0" + currentdate.getUTCHours()).slice(-2) + ":"
+ ("0" + currentdate.getUTCMinutes()).slice(-2) + ":"
+ ("0" + currentdate.getUTCSeconds()).slice(-2);
Run Code Online (Sandbox Code Playgroud)
我们要做的是为EST设置一致的时间戳,无论浏览器在世界的哪个位置,因此最初使用UTC时间.
谢谢!
一些东西...
术语"EST"可用于北美的东部标准时间或澳大利亚的东部标准时间.大多数时区缩写不是唯一的,因此您应该更具体.
EST也没有完整定义时区.它仅定义了冬季使用的时区的一部分.另一半叫做Eastern Daylight Time,缩写为EDT.你的客户可能是指"东部时间",这将需要采取既考虑.
定义时区的典型方法是作为IANA时区数据库的标识符.您可以在时区标签wiki中阅读更多相关信息.例如,如果您的客户在美国意味着东部时间,那么您的时区是"America/New_York".
JavaScript固有地对时区一无所知,除了它自己和UTC.(bjb568给出的链接不能正确处理夏令时.)为了在客户端上使用它们,您需要使用我在此列出的库之一.
您的当前代码在输出方面有点奇怪.通常冒号仅用于分隔时间,并且您将它们用于所有部分.无论如何,它没有转换任何东西,它只是输出UTC.
你可能会对像moment.js这样的库做得很好,而且它是moment-timezone附加组件.例如:
moment().tz("America/New_York").format("YYYY-MM-DD HH:mm:ss")
Run Code Online (Sandbox Code Playgroud)| 归档时间: |
|
| 查看次数: |
20402 次 |
| 最近记录: |