【问题标题】:How to get timezone string from javascript Date object?如何从 javascript Date 对象中获取时区字符串?
【发布时间】:2015-11-08 11:59:33
【问题描述】:

我有一个要求,我必须以以下格式显示日期时间戳。

MM:DD:YYYY HH:MM:SS IST/CST/CDT。

我使用 javascript 日期对象来获取日期和时间。但我不知道如何从 obj 获取时区(IST 或 CST 或 CDT 等)。我们是否有任何技术或原生 javascript 插件(非 jQuery 插件)来获取这个时区缩写值?

【问题讨论】:

    标签: javascript date


    【解决方案1】:

    查看 moment.js 库和 its format method,您可以使用它们格式化日期以包含时区。

    【讨论】:

    【解决方案2】:

    以下是纯JS代码,不使用任何第三方库

    var x = new Date();
    
    var tz = x.toTimeString().match(/\((.+)\)/)[1];
    
    var month = x.getMonth() + 1;
    month = month < 10 ? ('0' + month) : month.toString();
    
    var date = x.getDate() < 10 ? ('0' + x.getDate()) : x.getDate().toString();
    
    var hour = x.getHours() < 10 ? ('0' + x.getHours()) : x.getHours().toString();
    
    var min = x.getMinutes() < 10 ? ('0' + x.getMinutes()) : x.getMinutes().toString();
    
    var sec = x. getSeconds() < 10 ? ('0' + x.getSeconds()) : x.getSeconds().toString();
    
    var output = month + ':' + date + ':' + x.getFullYear() + ' ' + hour + ':' + min + ':' + sec + ' ' + tz
    

    【讨论】:

    • 这是我编码的。最近我发现 Date 对象会在 IE 中给出不同类型的字符串。此代码在 Chrome 中完美运行。
    • 你用的是哪个IE版本??
    • 它应该可以工作。 toTimestring() 得到什么输出?
    • chrome 输出:“19:39:25 GMT+0530(印度标准时间)” IE11 输出:“19:40:08 UTC+0530”
    • 19:42:47 GMT+0530 (IST)。这是我在 chrome 上为 toTimeString() 得到的输出。完整代码给出“11:17:2015 19:42:16 IST”
    猜你喜欢
    • 2020-08-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-07-14
    • 1970-01-01
    • 1970-01-01
    • 2020-05-10
    • 2013-02-04
    相关资源
    最近更新 更多