用 JavaScript 解析日期时间字符串

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

225722 次浏览

We use this code to check if the string is a valid date

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

See:

Code:

var strDate = "03.09.1979";
var dateParts = strDate.split(".");


var date = new Date(dateParts[2], (dateParts[1] - 1), dateParts[0]);

If you are using jQuery UI, you can format any date with:

<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/

ASP.NET developers have the choice of this handy built-in (MS JS must be included in page):

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

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

Use Date object:

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

Give: 917902800000

This function handles also the invalid 29.2.2001 date.

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;
}

refs: http://momentjs.com/docs/#/parsing/string/

If you use moment.js, you can use "string" + "format" mode

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

ex:

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

I'v been used following code in IE. (IE8 compatible)

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

you can format date just making this type of the code.In javascript.

 // 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)