从服务器中,我得到了以下格式的DateTime
:2019-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)"