如何在JavaScript中从iso日期格式中只提取时间?

oipij1gg  于 11个月前  发布在  Java
关注(0)|答案(7)|浏览(101)
let isoDate = '2018-01-01T18:00:00Z';

字符串
我只需要提取18:00使用任何方法事件时刻。

mrphzbgm

mrphzbgm1#

Vanilla JavaScript实现。

const dateObj = new Date('2018-01-01T18:00:00Z');
const hour = dateObj.getUTCHours();
const minute = dateObj.getUTCMinutes();

console.log(hour, minute);
console.log(`${hour}:${minute}`); // e.g: 15:38

字符串
这利用了Date内置的JavaScript对象。如果你不想为此目的添加一个外部库,你应该检查一下。
参考:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date

siv3szwd

siv3szwd2#

您可以使用正则表达式来匹配该特定区域。

let isoDate = '2018-01-01T18:00:00Z';
let result = isoDate.match(/\d\d:\d\d/);
console.log(result[0]);

字符串

kkbh8khc

kkbh8khc3#

下面是一个简单的JavaScript快速的一行解决方案:

console.log("2018-01-01T18:00:00Z".replace(/^[^:]*([0-2]\d:[0-5]\d).*$/, "$1"));

字符串
如果你得到的日期是Date的示例而不是字符串,那么你可以使用toISOString轻松地转换它,如下所示:

let date = new Date('2018-01-01T18:00:00Z');
console.log(date.toISOString().replace(/^[^:]*([0-2]\d:[0-5]\d).*$/, "$1"));

dced5bon

dced5bon4#

你可以使用momentjs
默认情况下,moment以本地时间解析和显示,如果你想以UTC解析或显示一个时刻,你可以使用moment.utc()而不是moment()

var t = moment.utc("2018-01-01T18:00:00Z").format("HH:mm")
console.log(t)

个字符

sxpgvts3

sxpgvts35#

我收到的日期如下,并抓住时间这对我的工作

let isoDate= '2020-09-28T15:27:15+05:30';
let result = isoDate.match(/\d\d:\d\d/);
console.log(result[0]);

字符串
输出将仅为isoDate的时间,

15:27

yks3o0rb

yks3o0rb6#

你可以使用regex groups:

const ISODateFormat = '2021-07-19T13:04:20.602Z';
    const regex = /([0-9]{4}-[0-9]{2}-[0-9]{2})?.([:0-9]+)/;
    console.log(ISODateFormat.match(regex));
    // expected output:  Array ["2021-07-19T13:04:20", "2021-07-19","13:04:20"]

字符串

ne5o7dgx

ne5o7dgx7#

ISO dateYYYY-MM-DDTHH:mm:ss.sssZ±YYYYYY-MM-DDTHH:mm:ss.sssZ,它们都有一个T来表示时间。因此,您可以首先在T上拆分,前半部分是日期,后半部分是时间,最后在.上拆分时间以获得HH:MM:SS部分:

const  dateTime = "2023-11-10T15:25:14.416+0000";
const [date, time] = dateTime.split('T');
const timeHHMMSS = time.split('.')[0];

console.log(`Date is ${date}`); // Date is: 2023-11-10
console.log(`Time is ${timeHHMMSS}`); // Time is: 15:25:14

字符串

相关问题