Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/392.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 将时间字符串(例如上午9:00)转换为24小时(0900)_Javascript_Regex_Date Formatting - Fatal编程技术网

Javascript 将时间字符串(例如上午9:00)转换为24小时(0900)

Javascript 将时间字符串(例如上午9:00)转换为24小时(0900),javascript,regex,date-formatting,Javascript,Regex,Date Formatting,我试图将12小时的时间转换为24小时的“军事”时间(即没有冒号)。我在使用正则表达式捕获组和javascript时遇到了问题,但我认为上面的方法应该有效 var foo = '1:00 pm' var bar = to24Hour(foo); //bar would be 1300 function to24Hour(time) { time.match('(\d+):(\d+) ([ap]m)'); if ($1 > 12 && $3 = pm) { $

我试图将12小时的时间转换为24小时的“军事”时间(即没有冒号)。我在使用正则表达式捕获组和javascript时遇到了问题,但我认为上面的方法应该有效

var foo = '1:00 pm'
var bar = to24Hour(foo); //bar would be 1300

function to24Hour(time) {
  time.match('(\d+):(\d+) ([ap]m)');
  if ($1 > 12 && $3 = pm) {
    $1 = 12 + $1;
  }
  return $1.$2;
}

有人能告诉我正确的方法吗?

我想你误用了正则表达式组。。。这应该行得通

var foo = '1:00 pm'
var bar = to24Hour(foo); //bar would be 1300

function to24Hour(time) {
  time.match('(\d+):(\d+) ([ap]m)');
  if ($1 > 12 && $3 = pm) {
    $1 = 12 + $1;
  }
  return $1.$2;
}
功能至24小时(时间){
变量小时,组=(/(\d+):(\d+)([ap]m)/i.exec(时间);
小时=parseInt(组[1],10);
如果(小时<12和组[3]=“下午”){
小时+=12;
}
return hour.toString()+组[2];
}

javascript中是否有一种“正常的方式”来更改日期格式?为什么不看看moment.js?你在找这个吗?举个简单的例子。您必须在正则表达式
\\d+
中这样转义
\d
。match方法返回包含匹配组的数组,如果未找到匹配项,则返回
null
。因此,将
$1
$2
$3
分别替换为
result[1]
result[2]
result[3]
,其中
result
match
返回的数组。如果要执行日期格式化,正则表达式不是最佳选择。请勾选此选项,然后回答: