繁体   English   中英

JavaScript regexp将日期/时间解析为毫秒

[英]JavaScript regexp parse date/time to milliseconds

我需要一些正则表达式帮助,以便使用正则表达式将日期转换为毫秒。

我不确定我需要执行什么正则表达式。

以下是一些示例日期:

  • 3达加尔,12:00:46
  • 2达加尔,8:01:00
  • 1天,11:34:00
  • 0达加尔,0:04:00

同样,我想要一个正则表达式,它将这些日期解析为毫秒。

或者,我可以使用像这样的库来解析日期。 但是我也没有太多经验。

以下正则表达式捕获天,小时,分钟和秒。 我假设您想要自1970年1月1日(纪元)以来的毫秒数。 我们使用捕获的信息初始化Date对象,并提取毫秒数:

var regexp = /([0-9]*) [a-z]*, ([0-9]*):([0-9]*):([0-9]*)/;
var match = regexp.exec('3 dagar, 12:00:46'); //insert your timespan as text here
var date = new Date(1970, 0, parseInt(match[1]) + 1, match[2], match[3], match[4]);
// var result = Math.floor(date.getTime()/1000); //seconds
var result = date.getTime() - date.getTimezoneOffset() * 60000; //milliseconds

我们还需要考虑时区。 date.getTimezoneOffset()返回以分钟为单位的偏移量。

也许你想在测试这个rubular和调整,因为这可能会导致问题如果输入不与您提供的格式规定。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM