我正在尝试获取印度当前的时间和日期,我尝试了这个:
let today = new Date();
let indianTime = today.toLocaleString("en-US", "Asia/Delhi");
它返回:
"Mon Jul 26 2021 18:08:11 GMT+0530 (India Standard Time)"
但它不是当前的。
我能得到当前的印度时间吗?
答案 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)))