如何从Java中的DateTime对象中获取标准日期

问题描述 投票:-3回答:2

我的日期如下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`

任何技巧都将不胜感激

javascript momentjs
2个回答
0
投票

您可以在调用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)

0
投票

使用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>
© www.soinside.com 2019 - 2024. All rights reserved.