在JavaScript中解析DateTime字符串

有谁知道如何解析日期字符串所需的格式dd.mm.yyyy

看到:

  • Mozilla核心JavaScript参考:日期对象
  • Mozilla核心JavaScript参考:String.Split

码:

 var strDate = "03.09.1979"; var dateParts = strDate.split("."); var date = new Date(dateParts[2], (dateParts[1] - 1), dateParts[0]); 

如果您使用jQuery UI,则可以使用以下格式设置任何日期:

 <html> <body> Your date formated: <span id="date1"></span><br/> </body> </html> 
 var myDate = '30.11.2011'; var parsedDate = $.datepicker.parseDate('dd.mm.yy', myDate); $('#date1').text($.datepicker.formatDate('M d, yy', parsedDate)); 

http://jsfiddle.net/mescalito2345/ND2Qg/14/

我们使用这个代码来检查字符串是否是有效的日期

 var dt = new Date(txtDate.value) if (isNaN(dt)) 

参考: http : //momentjs.com/docs/#/parsing/string/

如果使用moment.js,则可以使用“字符串”+“格式”模式

 moment(String, String); moment(String, String, String); moment(String, String, Boolean); moment(String, String, String, Boolean); 

例如:

 moment("12-25-1995", "MM-DD-YYYY"); 

ASP.NET开发人员可以选择这个方便的内置(MS JS必须包含在页面中):

 var date = Date.parseLocale('20-Mar-2012', 'dd-MMM-yyyy'); 

http://msdn.microsoft.com/en-us/library/bb397521%28v=vs.100%29.aspx

使用日期对象:

 var time = Date.parse('02.02.1999'); document.writeln(time); 

给:917902800000

我在IE中使用了下面的代码。 (IE8兼容)

 var dString = "2013.2.4"; var myDate = new Date( dString.replace(/(\d+)\.(\d+)\.(\d+)/,"$2/$3/$1") ); alert( "my date:"+ myDate ); 

这个函数也处理无效的29.2.2001日期。

 function parseDate(str) { var dateParts = str.split("."); if (dateParts.length != 3) return null; var year = dateParts[2]; var month = dateParts[1]; var day = dateParts[0]; if (isNaN(day) || isNaN(month) || isNaN(year)) return null; var result = new Date(year, (month - 1), day); if (result == null) return null; if (result.getDate() != day) return null; if (result.getMonth() != (month - 1)) return null; if (result.getFullYear() != year) return null; return result; } 

你可以格式化日期只是使这种类型的代码。

  // for eg. var inputdate=document.getElementById("getdate").value); var datecomp= inputdate.split('.'); Var Date= new Date(datecomp[2], datecomp[1]-1, datecomp[0]); //new date( Year,Month,Date) 
Interesting Posts