我从 JSON 中获取特定时间。我获得的开始时间值如下所示:2021-02-15T20:30:00+01:00 但我需要在 hh:mm 中得到它。 我尝试了 Date.parse() 但无法从该值获取小时和分钟。 我还能怎样做呢?
fetch('XXX')
.then(Response => Response.json())
.then(data => {
var summary = data['items']['0']['summary'];
var location = data['items']['0']['location'];
var start = data['items']['0']['start']['dateTime'];
var end = data['items']['0']['end']['dateTime'];
我一直喜欢这种简单的方法。
let time = new Date();
console.log(time.toLocaleString('en-US', { hour: 'numeric', minute: 'numeric', second:'numeric', hour12: true }));
console.log(time.toLocaleString('en-US', { hour: 'numeric', hour12: true }));
console.log(time.toLocaleString('en-US', { hour: 'numeric', minute: 'numeric'}));
console.log(time.toLocaleString('en-US', {second: 'numeric'}));
const date = new Date("2021-02-15T20:30:00+01:00");
const formatted = `${date.getHours()}:${date.getMinutes()}`;
console.log(formatted);
使用
getMinutes
和 getHours
并不是一个很好的解决方案,因为它不能保证填充小于 10 的值。你最好进行字符串操作。解构数组可以使这更容易理解。
const dt = "2021-02-15T20:30:00+01:00";
const [date, time] = dt.split("T")
const [hours, minutes] = time.split(":")
const t = hours + ":" + minutes
'20:30'
如果输入日期时间为
2021-02-15T01:02:00+01:00
,那么使用 getHours 和 getMinutes 将产生 1:2
,这不是预期的时间格式
如果您阅读 MomentJs 文档 (http://momentjs.com/docs/#/displaying/),您可以找到以下格式:
moment("2015-01-16T12:00:00").format("hh:mm:ss a")