首先,我不知道应该用什么名称来引用这些格式,所以请原谅我使用一个真实的例子。
在 PHP 中,我可以轻松地将字符串时间转换为时间戳,然后使用该时间戳创建我选择的任何格式的时间,如下所示: $timestamp = strtotime('9:00 am');
$militaryTime = date('H:i:s',$timestamp);
echo $militaryTime;
但是我该如何在 JavaScript 中做到这一点呢?我根本不明白我会使用 JS Date()
对象中的哪个方法来输入初始时间,然后使用 JS Date()
对象中的哪个方法来转换时间,等等
那么,javascript中将“9:00 pm”转换为“21:00:00”的正确方法是什么?
最佳答案
var timeString = "7:33 PM";
var dateint = Date.parse("January 1, 2000 " + timeString);
var dateObj = new Date(dateint);
var milTime = dateObj.toLocaleTimeString();
var milTime2 = dateObj.toTimeString().split(" ")[0];
console.log(milTime);
console.log(milTime2);
如果您希望此应用程序是国际化的,我可能建议不要使用toLocaleTimeString
。
另一个选项是手动构造时间字符串:http://jsfiddle.net/VxL4X/2/
var manualTime =
dateObj.getHours().pad(2) + ':' +
dateObj.getMinutes().pad(2) + ':' +
dateObj.getSeconds().pad(2);
(注意带有 pad
函数的 Number 对象的扩展)
关于javascript - 在 JavaScript 中将 "9:00 pm"转换为 "21:00:00"的正确方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12431920/