![](/img/trans.png)
[英]JavaScript : How do i convert “4/10/2016, 4:00:00PM” to 4 PM?
[英]Javascript convert “05/27 11:00pm” to date?
如何将没有年份的日期字符串转换为JS Date对象? 以及如何将带有年份和时间的日期字符串转换为JS Date对象?
只需将它们传递给Date()
构造函数,就可以将许多不同的日期格式转换为日期对象:
var date = new Date(datestring);
您的示例日期不起作用有两个原因。 首先,它没有一年。 其次,在“ pm”之前必须有一个空格(我不确定为什么)。
// Wed May 27 2009 23:00:00 GMT-0700 (Pacific Daylight Time)
var date = new Date("2009/05/27 11:00 pm")
如果您收到的日期格式一致,则可以通过以下方式进行修正:
var datestring = "05/27 11:00pm";
var date = new Date("2009/" + datestring.replace(/\B[ap]m/i, " $&"));
我将使用Datejs库的parse方法。
我尝试了您的示例,但效果很好...
5/27 11:00下午
2009年5月27日,星期三,晚上11:00:00
我已经使用Dojo时间解析器来执行以下操作:
签出: http : //api.dojotoolkit.org/jsdoc/HEAD/dojo.date.locale.parse
我写的另一种选择:
它具有日期/时间解析方法-传递掩码,它将验证输入并在匹配时返回数据对象。
还支持日期/时间格式,日期数学(加/减日期部分),日期比较,专业日期解析等。它是开源的。
不是最干净的,但是可以工作:
var strDate = '05/27 11:00pm';
var myDate = ConvertDate(strDate, '2009');
function ConvertDate(strWeirdDate, strYear)
{
strWeirdDate = strWeirdDate.replace(/ /, '/' + strYear + ' ');
return new Date(strWeirdDate);
}
可能还想先修剪字符串。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.