类似这种格式的字符串“08  1 2009 12:00AM”
如何格式化为 :
1 字符串类型"2009 08 01" 
2 Date类型"2009 08 01" 

解决方案 »

  1.   

    function formatDate(time)
    {
    var time1 = time.split(" 12:00AM")[0];
    var time2 = time.split(" ");
    var year  = time2[3];
    var month = time2[0];
    var day   = time2[2]
    var time3 = year+"-"+month+"-"+appendZero(day);
    alert(time3);

    function   appendZero(s){return   ("00"+   s).substr((s+"").length);}     //补0函数  
    }formatDate("09  4 2009 12:00AM")
      

  2.   


    var s  = "09 4 2009 12:00AM"
    alert(formatDate(s))
    alert(toDate(s))function formatDate(time) 
    {
    time = time.replace(/\s+/g, " ");
    var time2 = time.split(" "); 
    if(time2[2].length==2) time2[2] = "20" + time2[2];
    var y = parseInt(time2[2],10);
    var m = parseInt(time2[0],10)-1; 
    var d = parseInt(time2[1],10);
    var dt = new Date(y,m,d);
    var y = dt.getFullYear();
    var m = dt.getMonth()+1;
    var d = dt.getDate();
    var h = dt.getHours();
    var n = dt.getMinutes();
    m = m<10?'0'+m:m;
    d = d<10?'0'+d:d;
    var s = y + " " + m + " " + d
    return s
    }function toDate(time) 
    {
    time = time.replace(/\s+/g, " ");
    var time2 = time.split(" "); 
    if(time2[2].length==2) time2[2] = "20" + time2[2];
    var y = parseInt(time2[2],10);
    var m = parseInt(time2[0],10)-1; 
    var d = parseInt(time2[1],10);
    var dt = new Date(y,m,d);
    return dt
    }