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

JavaScript regexp将日期/时间解析为毫秒,javascript,regex,date,date-formatting,Javascript,Regex,Date,Date Formatting,我需要一些关于正则表达式的帮助,以便使用正则表达式将日期转换为毫秒 我不确定我需要什么正则表达式来执行此操作 以下是一些日期示例: 3达加尔,12:00:46 2达加尔,8:01:00 1达格,11:34:00 0达加尔,0:04:00 同样,我想要一个将这些日期解析为毫秒的regexp 或者,我可以使用类似的库来解析日期。但我在这方面也没有太多经验 下面的正则表达式捕获天、小时、分钟和秒。 我估计您需要自1970年1月1日(历元)以来的毫秒数。 我们使用捕获的信息初始化日期对象并提取毫秒:

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

我不确定我需要什么正则表达式来执行此操作

以下是一些日期示例:

  • 3达加尔,12:00:46
  • 2达加尔,8:01:00
  • 1达格,11:34:00
  • 0达加尔,0:04:00
同样,我想要一个将这些日期解析为毫秒的regexp


或者,我可以使用类似的库来解析日期。但我在这方面也没有太多经验

下面的正则表达式捕获天、小时、分钟和秒。 我估计您需要自1970年1月1日(历元)以来的毫秒数。 我们使用捕获的信息初始化日期对象并提取毫秒:

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()
以分钟为单位返回偏移量


也许您想在中测试并调整它,因为如果输入不符合您提供的格式,它可能会导致问题。

以下正则表达式捕获天、小时、分钟和秒。 我估计您需要自1970年1月1日(历元)以来的毫秒数。 我们使用捕获的信息初始化日期对象并提取毫秒:

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()
以分钟为单位返回偏移量


也许您想在中测试并调整它,因为如果输入不符合您提供的格式,它可能会导致问题。

以下正则表达式捕获天、小时、分钟和秒。 我估计您需要自1970年1月1日(历元)以来的毫秒数。 我们使用捕获的信息初始化日期对象并提取毫秒:

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()
以分钟为单位返回偏移量


也许您想在中测试并调整它,因为如果输入不符合您提供的格式,它可能会导致问题。

以下正则表达式捕获天、小时、分钟和秒。 我估计您需要自1970年1月1日(历元)以来的毫秒数。 我们使用捕获的信息初始化日期对象并提取毫秒:

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()
以分钟为单位返回偏移量



也许你想在中测试并调整它,因为如果输入不符合你提供的格式,它可能会导致问题。

这不是regex的工作。这不是regex的工作。这不是regex的工作。这不是regex的工作。这不是regex的工作。感谢它的工作,我用另一个示例日期尝试了它,它也工作了。但是,您提供的脚本的预期结果是237000毫秒,但它给了我2588637毫秒,即1970年1月31日00:03:57作为日期。如果我打开浏览器控制台并键入
var d=new date(2588637);它给了我1970年1月1日09:11:26 GMT+0200的时间。这与1月31日相去甚远。我在网上使用了一个划时代时间转换器工具,它将数字改为秒。它现在给了我-89763,从划时代开始的秒数等于1969年12月31日00:03:57我知道了!那是因为时区。我编辑了我的答案。谢谢,它有点奏效了,我用另一个日期的例子试了一下,效果也不错。但是,您提供的脚本的预期结果是237000毫秒,但它给了我2588637毫秒,即1970年1月31日00:03:57作为日期。如果我打开浏览器控制台并键入
var d=new date(2588637);它给了我1970年1月1日09:11:26 GMT+0200的时间。这与1月31日相去甚远。我在网上使用了一个划时代时间转换器工具,它将数字改为秒。它现在给了我-89763,从划时代开始的秒数等于1969年12月31日00:03:57我知道了!那是因为时区。我编辑了我的答案。谢谢,它有点奏效了,我用另一个日期的例子试了一下,效果也不错。但是,您提供的脚本的预期结果是237000毫秒,但它给了我2588637毫秒,即1970年1月31日00:03:57作为日期。如果我打开浏览器控制台并键入
var d=new date(2588637);它给了我1970年1月1日09:11:26 GMT+0200的时间。这与1月31日相去甚远。我在网上使用了一个划时代时间转换器工具,它将数字改为秒。它现在给了我-89763,从划时代开始的秒数等于1969年12月31日00:03:57我知道了!那是因为时区。我编辑了我的答案。谢谢,它有点奏效了,我用另一个日期的例子试了一下,效果也不错。但是,您提供的脚本的预期结果是237000毫秒,但它给了我2588637毫秒,即1970年1月31日00:03:57作为日期。如果我打开浏览器控制台并键入
var d=new date(2588637);它给了我1970年1月1日09:11:26 GMT+0200的时间。这与1月31日相去甚远。我在网上使用了一个划时代时间转换器工具,它将数字改为秒。它现在给了我-89763,从划时代开始的秒数等于1969年12月31日00:03:57我知道了!那是因为时区。我编辑了我的答案。