Parse DateTime string in JavaScript

2018-12-31 15:03发布

问题:

Does anyone know how to parse date string in required format dd.mm.yyyy?

回答1:

See:

  • Mozilla Core JavaScript Reference: Date object
  • Mozilla Core JavaScript Reference: String.Split

Code:

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

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


回答2:

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/



回答3:

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

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


回答4:

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\");


回答5:

Use Date object:

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

Give: 917902800000



回答6:

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


回答7:

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



回答8:

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


回答9:

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)