Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/438.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
转换时间字符串,例如';下午12:05';在Javascript中使用Date.Parse转换为datetime_Javascript_Jquery_Asp.net_Datetime - Fatal编程技术网

转换时间字符串,例如';下午12:05';在Javascript中使用Date.Parse转换为datetime

转换时间字符串,例如';下午12:05';在Javascript中使用Date.Parse转换为datetime,javascript,jquery,asp.net,datetime,Javascript,Jquery,Asp.net,Datetime,我想使用Javascript中的Date.Parse将一个时间字符串(12:05pm)转换为一个日期时间。 当我传入一个值时,比如说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($("#&

我想使用Javascript中的
Date.Parse
将一个时间字符串(12:05pm)转换为一个日期时间。 当我传入一个值时,比如说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
    
var startTime=Date.parse($(“#”).val()//导致问题的代码
StartTime
是一个文本框


我正在web表单上的ASP.NET应用程序中用client/html编写上述代码。

有一个很好的日期实用程序。

基于此,您可以执行以下操作:

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 );
var startTime=new Date();
变量时间=$(“#”).val().match(/(\d+(:(\d\d))?\s*(p?/);
startTime.setHours(parseInt(time[1])+(time[3]?12:0));
startTime.setMinutes(parseInt(时间[2])| | 0);


我刚刚读到你对你正在使用的另一个问题的回答。如果您确实在使用它,那么您的代码是正确的,那么问题应该是您没有正确加载库,并且您正在使用本机日期对象。

如果您使用的是Date.js,请尝试(按照)

如果您正确加载了库,也会出现这种情况

在这里工作正常:


这可能是一个库加载问题,但您声称它在某些时间有效,而在其他时间无效。在将文本框输入到
Date.parse()
)之前,您是否尝试过将文本框的值输出到控制台?

是否有效?我的意思是,你可以在时间之前添加一个虚拟日期,然后解析它,只使用时间部分?你是说它在任何时间都有效,除了12:01 PM到12:59 PM之间的时间?嗨,Thirit。我的时间范围为12:00 AM、12:05 AM、1:00 AM、1:05 AM、1:10 AM…12:00 PM、12:05 PM、12:10 PM…1:00 PM,可以以00:05分钟为增量输入任何时间。因此,上述代码对于正则表达式setHours和setMinutes是否有效。请告诉我。提前谢谢。这似乎与下午12:00有问题。假设“pm”应该加12个小时是有问题的。在调试时的QuickWatch中,我得到的值是$(“#”).val()=“12:05 pm”。但是当我把它放到Date.parse中时,它是空的。在同一个quickwatch窗口中,我将日期“1:05pm”放入date.parse方法中,这样就可以了。我认为Date.parse不喜欢12的增量,当它们是PM时。CDN不再有效,所以脚本默认为标准的Date.parse()。我修复了JSFIDLE,现在应该可以工作了。假设我的日期字符串是“12:05 PM”,那么传递到date.parseExtract中的参数格式是什么。
Date.parseExact("12:05 PM", "hh:mm tt");