我的日期如下2020-05-13T18:00:00+01:00
我正在尝试节省时间,但采用标准格式。在这种情况下,它将是06:00:00 pm
我可以就如何实现这一目标提供一些指导吗?
我尝试了以下操作。
vm.training.startDate = '2020-05-13T18:00:00+01:00`'
var start = new Date(vm.training.startDate)
var locale = start.toLocaleTimeString(); // Produced 1:00:00 PM (not the value I'm looking for)
var test = start.getTime(); // produced 1589389200000
var test1 = start.toTimeString(); // produced 13:00:00 GMT-0400 (Eastern Daylight Time)
var test3 = moment(vm.training.startDate, 'MM-DD-YYYY hh:mm A') // moment date object
这是一个非常接近但仍然略微偏离
var test4 = moment(vm.training.endDate, 'HH:mm').format('hh:mm:ss a')// produced `08:30:00 pm`
任何技巧都将不胜感激
您可以在调用toLocaleTimeString()
方法时传递时区选项:
var options = { timeZone: 'Europe/London'};
var d = new Date('2020-05-13T18:00:00+01:00');
var n = d.toLocaleTimeString('en-UK', options);
console.log(n)
使用momentjs
格式将日期字符串转换为相应的格式。
文档:https://momentjs.com/docs/#/parsing/string-formats/
console.log(
moment("2020-05-13T18:00:00+01:00", "YYYY-MM-YYYY HH:mm").format("hh:mm:ss a")
);
<script src="https://momentjs.com/downloads/moment.js"></script>