在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));
我们使用这个代码来检查字符串是否是有效的日期
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)