字符串日期到javascript日期:解析日期

时间:2012-11-05 10:38:49

标签: javascript

我想解析日期(字符串日期格式为javascript日期格式),但我有各种字符串日期格式,如YYYY-MM-DDDD-MM-YYYY'DD/MM/YYYY'等等。

是否有任何通用程序或方法将这些字符串日期格式修改为javascript日期格式?

4 个答案:

答案 0 :(得分:2)

有两个库可以执行此操作:

答案 1 :(得分:1)

此处userFormat字符串可采用以下格式'DD-MM-YYYY''YYYY-MM-DD''DD/MM/YYYY'等。

function parseDate(dateString, userFormat) {
    var delimiter, theFormat, theDate, month, date, year;
    // Set default format if userFormat is not provided
    userFormat = userFormat || 'yyyy-mm-dd';

    // Find custom delimiter by excluding
    // month, day and year characters
    delimiter = /[^dmy]/.exec(userFormat)[0];

    // Create an array with month, day and year
    // so we know the format order by index
    theFormat = userFormat.split(delimiter);

    //Create an array of dateString.
    theDate = dateString.split(delimiter);
    for (var i = 0, len = theDate.length; i < len; i++){
      //assigning values for date, month and year based on theFormat array.
      if (/d/.test(theFormat[i])){
        date = theDate[i];
      }
      else if (/m/.test(theFormat[i])){
        month = parseInt(theDate[i], 10) - 1;
      }
      else if (/y/.test(theFormat[i])){
        year = theDate[i];
      }
    }
    return (new Date(year, month, date));
}

答案 2 :(得分:0)

去get datejs。

http://www.datejs.com/

...再也不用再写自己的Javascript日期函数了。

答案 3 :(得分:0)

function dateParsing(toDate, dateFormat) {
    var dt = Date.parseInvariant(todate, dateFormat); // pass date and your desired format e.g yyyy/M/dd            
    alert(dt); // to check date
}