如何在javascript中仅从iso日期格式中提取时间?

如何在javascript中仅从iso日期格式中提取时间?,javascript,Javascript,我只需要使用任何方法提取18:00事件时刻。您可以使用 默认情况下,力矩以本地时间解析和显示。 如果要以UTC格式解析或显示某个时刻,可以使用矩.UTC()而不是矩() var t=time.utc(“2018-01-01T18:00:00Z”).格式(“HH:mm”) console.log(t) 您可以使用 默认情况下,力矩以本地时间解析和显示。 如果要以UTC格式解析或显示某个时刻,可以使用矩.UTC()而不是矩() var t=time.utc(“2018-01-01T18:00:0

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

您可以使用

默认情况下,力矩以本地时间解析和显示。 如果要以UTC格式解析或显示某个时刻,可以使用矩.UTC()而不是矩()

var t=time.utc(“2018-01-01T18:00:00Z”).格式(“HH:mm”)
console.log(t)
您可以使用

默认情况下,力矩以本地时间解析和显示。 如果要以UTC格式解析或显示某个时刻,可以使用矩.UTC()而不是矩()

var t=time.utc(“2018-01-01T18:00:00Z”).格式(“HH:mm”)
console.log(t)

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

let isoDate='2018-01-01T18:00:00Z';
让结果=isoDate.match(/\d\d:\d\d/);

console.log(结果[0])您可以使用正则表达式来匹配该特定区域

let isoDate='2018-01-01T18:00:00Z';
让结果=isoDate.match(/\d\d:\d\d/);

console.log(结果[0])普通Javascript实现

const dateObj=新日期('2018-01-01T18:00:00Z');
设hour=dateObj.getUTCHours();
让minute=dateObj.getUTCMinutes();

控制台日志(小时、分钟)普通Javascript实现

const dateObj=新日期('2018-01-01T18:00:00Z');
设hour=dateObj.getUTCHours();
让minute=dateObj.getUTCMinutes();

控制台日志(小时、分钟)这里是一个简单的
JavaScript
的快速单行解决方案:


console.log(“2018-01-01T18:00:00Z”)。替换(/^[^:::*([0-2]\d:[0-5]\d)。*$/,“$1”)这里是一个简单的
JavaScript
的快速单行解决方案:


console.log(“2018-01-01T18:00:00Z”)。替换(/^[^:::*([0-2]\d:[0-5]\d)。*$/,“$1”)我收到的日期如下,为了抓住时间,这对我来说很有效

let isoDate = '2018-01-01T18:00:00Z';
输出将仅为从isoDate开始的时间,即

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

我收到的日期如下,为了抓紧时间,这对我很有效

let isoDate = '2018-01-01T18:00:00Z';
输出将仅为从isoDate开始的时间,即

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

从何处获取日期?从何处获取日期?导入整个库仅用于@MikhailKatrin?不。OP中提到了矩。这只是一种方法,如果lib已包含在内,则可以使用。导入整个库仅用于@MikhailKatrin?不。OP中提到了矩。这只是一种方法,如果lib已包含在内,则可以使用已包含。当您建议的解决方案查找单个值时,格式设置为off@KaungMyatLwin.It,但我发现它比从字符串中提取更一致。当您建议的解决方案查找单个值时,格式设置为off@KaungMyatLwin.It,但是我发现它比从字符串中提取更一致。这个想法是正确的,但是匹配时间的正则表达式是错误的(不会匹配“08:24”)。由于日期是一个ISOString,您可以使用更简单的正则表达式,如
\d\d:\d\d
来匹配时间。感谢您指出我的错误,@EricBurel。这是我的一个很老的答案,所以我花时间更新了它。理论上,
\d\d:\d\d
可以接受像
99:99
这样的输入,即使
toISOString
不会产生这样的输入,所以我选择了更严格的方法。这个想法是正确的,但是匹配时间的正则表达式是错误的(不会匹配“08:24”)。由于日期是一个ISOString,您可以使用更简单的正则表达式,如
\d\d:\d\d
来匹配时间。感谢您指出我的错误,@EricBurel。这是我的一个很老的答案,所以我花时间更新了它。理论上,
\d\d:\d\d
可以接受像
99:99
这样的输入,即使
toISOString
不会产生这样的输入,所以我选择了更严格的方法。