在没有时区转换的情况下转换日期格式?

wkyowqbh  于 2021-09-23  发布在  Java
关注(0)|答案(1)|浏览(405)

我试图在不向我的项目中添加MomentJS的情况下实现这一点,但这似乎比我希望的要困难。
如果我得到的日期格式为:“2021-07-19t12:15:00-07:00”
是否有一种有效的方式将其格式化为:“12:15 pm”
无论我和我的浏览器位于何处?
我已经得到了一些其他答案,但运气不佳,例如:

var date = new Date('2021-07-19T12:15:00-07:00')
var userTimezoneOffset = date.getTimezoneOffset() * 60000;
new Date(date.getTime() - userTimezoneOffset);

谢谢

ykejflvf

ykejflvf1#

您可以使用date.tolocaletimestring()来格式化时间,如果我们删除utc偏移量,这将为您提供本地时区中的时间。
此处还有其他可用选项:https://developer.mozilla.org/en-us/docs/web/javascript/reference/global_objects/intl/datetimeformat/datetimeformat

let timestampWithUTCOffset = "2021-07-19T12:15:00-07:00";
let timestampWithoutUTCOffset = timestampWithUTCOffset.substr(0,19);

console.log( { timestampWithUTCOffset , timestampWithoutUTCOffset });
let dt = new Date(timestampWithoutUTCOffset);
console.log('Time of day:', dt.toLocaleTimeString('en-US', { timeStyle: 'short' }))

相关问题