在angularjs/javascript中将UTC时间转换为浏览器的本地时间



从服务器中,我得到了以下格式的DateTime2019-07-11T05:33:53.45,它是UTC时间。

我想使用 JavaScript 将其转换为当前用户的浏览器时间,格式类似于11th July 2019 11:03 AM对于给定时间(2019-07-11T05:33:53.45)的印度时间UTC+0530

我已经尝试了Intl.DateTimeFormat以及其他JavaScript日期时间函数,例如。toLocaleString.但我只得到 UTC 格式的时间。当我得到时间时,我想要的 UTC+0530 也被附加,我不想要。

let d = new Date(date_from_server);
let options= { year: 'numeric', month: 'numeric', day: 'numeric',
hour: 'numeric', minute: 'numeric', second: 'numeric',
hour12: false };                    
let ddmmmyy= new Intl.DateTimeFormat('default', options).format(d);

这是我尝试过的解决方案之一。我也尝试过其他方法,但没有成功。 例如。let ddmmmyy = d.toLocaleString();

我希望时间按照用户当前的浏览器时区和指定的格式(11th July 2019 11:03 AM IST)。

我怎样才能实现它?请帮忙。

您需要替换日期字符串中的T并附加UTC
然后,您需要删除结果中的GMT和之后的任何内容:

var dateString = "2019-07-11T05:33:53.45".replace('T', ' ') + " UTC"; // or + "Z" instead of + " UTC";
var dateObj = new Date(dateString);
var localDateString = dateObj.toString().replace(/GMT.*/g,"");
console.log(localDateString);

试试这个:

var date = new Date('2019-08-14 17:00:34 UTC');
date.toString(); // outputs "Wed Aug 14 2019 13:00:34 GMT-0400 (Eastern Daylight Time)"

相关内容

最新更新