如何在javascript中获取时区的当前日期

Posted

技术标签:

【中文标题】如何在javascript中获取时区的当前日期【英文标题】:How to get current date for timezone in javascripts 【发布时间】:2021-12-16 23:53:35 【问题描述】:

我的时区模式格式如下“2021-10-29T18:01:23+07:00”, 所以我想得到与上面相同时区的当前时间,有人可以帮我解决这个问题吗,

我试过这段代码,但它不起作用

new Date().toGMTString()

非常感谢。

【问题讨论】:

this maybe? 【参考方案1】:

一般来说,我建议您研究 MomentsJS。在使用 Date 时非常有帮助。它带有格式功能以及您可以安全地添加或减少日期的功能。

MomentJS 文档:https://momentjs.com/

【讨论】:

【参考方案2】:

使用原生 Date 方法,您可以获得的最接近的方法是使用:

new Date().toISOString() // '2021-11-02T13:12:26.229Z'

但这会返回 GTM 时间,要以您指定的模式获取本地时间,您必须自己格式化:

function formatDateString(date) 
    //Function to format numbers (prepending leading zero and adding sign)
    const f = (n, sign = false) => (sign ? (n < 0 ? "-" : "+") : "") + n.toLocaleString('en-US',  minimumIntegerDigits: 2, useGrouping: false );

    //Compute Date, Time and Zone
    const d = `$date.getFullYear()-$f(date.getMonth() + 1)-$f(date.getDate())`;
    const t = `$f(date.getHours()):$f(date.getMinutes()):$f(date.getSeconds())`;
    const z = `$f(-date.getTimezoneOffset() / 60, true):00`;

    //Return it all together
    return `$dT$t$z`;


var mydate = new Date();

console.log(mydate.toISOString());
console.log(formatDateString(mydate));

或者您可以使用 3rd 方库,例如 MomentJS。

【讨论】:

以上是关于如何在javascript中获取时区的当前日期的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Python 中获取或打印 GMT 时区的当前日期时间? [复制]

如何在 Swift 中获取另一个时区的当前日期和时间?

获取时区的当前日期对象[重复]

在Java中获取当前时区的日期

Javascript:将字符串解析为日期作为本地时区

有没有办法在javascript中获取当前时区? [复制]