js时间戳转时间 - 在javascript中使用Date.Parse将时间字符串'12:05 PM'转换为日期时间



js时间戳转时分秒 (3)

我想在javascript中使用Date.Parse将时间字符串'12:05 PM'转换为日期时间。 当我传递一个值,例如12:05 PM或12:10 PM或...或12:55 PM时,startTime返回的值为空,即startTime = null

但是当我通过1:00 PM,1:05 PM,1:10 PM,12:00 AM,...,12:00 PM的值时,它工作正常
返回给我一个包含时间的日期。

这是导致问题的代码行:

var startTime = Date.parse($("#<%= StartTime.ClientID %>").val());  //code causing the issue

StartTime是一个文本框。

我正在web窗体上的ASP.NET应用程序中写入上面的代码在client / html中。

https://src-bin.com


Answer #1

基于这个答案,你可以这样做:

var startTime = new Date();
var time = $("#<%= StartTime.ClientID %>").val().match(/(\d+)(?::(\d\d))?\s*(p?)/);
startTime.setHours(parseInt(time[1]) + (time[3] ? 12 : 0) );
startTime.setMinutes( parseInt(time[2]) || 0 );

我刚刚阅读了您对另一个使用date.js的问题的回复。 如果你真的使用它,你的代码是正确的,那么问题应该是你没有正确加载库,并且你正在使用本地的Date对象。


Answer #2

如果你使用的是date.js然后尝试(按照这里的测试用例

Date.parseExact("12:05 PM", "hh:mm tt");

如果你已经正确地加载了库,这也应该会起作用。


Answer #3

对于名为date.js的日期有一个很好的工具。





javascript-events