获取印度当前时间和日期

时间:2021-07-27 04:20:28

标签: javascript node.js reactjs

我正在尝试获取印度当前的时间和日期,我尝试了这个:

let today = new Date();
let indianTime = today.toLocaleString("en-US", "Asia/Delhi");

它返回:

"Mon Jul 26 2021 18:08:11 GMT+0530 (India Standard Time)"

但它不是当前的。

我能得到当前的印度时间吗?

2 个答案:

答案 0 :(得分:3)

时区“亚洲/德里”不是有效时区,请尝试使用“亚洲/加尔各答”。

let currentdate = new Date();
let indian date = new Date().toLocaleString("en-Us", {timeZone: 'Asia/Kolkata'});

答案 1 :(得分:0)

您可以尝试使用 Intl.DateTimeFormat 对象。这在格式化日期和/或时间时为您提供了很大的灵活性。

您还可以指定格式化时要使用的时区。这应该是 IANA timezone,在您的情况下是 Asia/Kolkata

const date = new Date()
const timeZone = 'Asia/Kolkata';

// Potential formatters to use to display date / time
const formatters = [
    new Intl.DateTimeFormat('en-US', { timeStyle: 'long', dateStyle: 'short', timeZone }),
    new Intl.DateTimeFormat('en-US', { timeStyle: 'medium', dateStyle: 'medium', timeZone }),
    new Intl.DateTimeFormat('en-US', { timeStyle: 'medium', dateStyle: 'medium', hour12: false, timeZone }),
    // Using an 'sv' locale will give an ISO-8601 output
    new Intl.DateTimeFormat('sv', { timeStyle: 'medium', dateStyle: 'short', timeZone }),
    new Intl.DateTimeFormat('en-US', { timeStyle: 'short', timeZone }),
    new Intl.DateTimeFormat('en-US', { timeStyle: 'short', hour12: false, timeZone })
]

formatters.forEach(fmt => console.log(fmt.format(date)))

相关问题