JavaScript实现字符串与日期的互相转换及日期的格式化
字符串转日期、日期转字符串
//2014-02-25
/**
*字符串转时间(yyyy-MM-ddHH:mm:ss)
*result(分钟)
*/
stringToDate:function(fDate){
varfullDate=fDate.split("-");
returnnewDate(fullDate[0],fullDate[1]-1,fullDate[2],0,0,0);
}
/**
*格式化日期
*@paramdate日期
*@paramformat格式化样式,例如yyyy-MM-ddHH:mm:ssE
*@return格式化后的金额
*/
formatDate:function(date,format){
varv="";
if(typeofdate=="string"||typeofdate!="object"){
return;
}
varyear=date.getFullYear();
varmonth=date.getMonth()+1;
varday=date.getDate();
varhour=date.getHours();
varminute=date.getMinutes();
varsecond=date.getSeconds();
varweekDay=date.getDay();
varms=date.getMilliseconds();
varweekDayString="";
if(weekDay==1){
weekDayString="星期一";
}elseif(weekDay==2){
weekDayString="星期二";
}elseif(weekDay==3){
weekDayString="星期三";
}elseif(weekDay==4){
weekDayString="星期四";
}elseif(weekDay==5){
weekDayString="星期五";
}elseif(weekDay==6){
weekDayString="星期六";
}elseif(weekDay==7){
weekDayString="星期日";
}
v=format;
//Year
v=v.replace(/yyyy/g,year);
v=v.replace(/YYYY/g,year);
v=v.replace(/yy/g,(year+"").substring(2,4));
v=v.replace(/YY/g,(year+"").substring(2,4));
//Month
varmonthStr=("0"+month);
v=v.replace(/MM/g,monthStr.substring(monthStr.length-2));
//Day
vardayStr=("0"+day);
v=v.replace(/dd/g,dayStr.substring(dayStr.length-2));
//hour
varhourStr=("0"+hour);
v=v.replace(/HH/g,hourStr.substring(hourStr.length-2));
v=v.replace(/hh/g,hourStr.substring(hourStr.length-2));
//minute
varminuteStr=("0"+minute);
v=v.replace(/mm/g,minuteStr.substring(minuteStr.length-2));
//Millisecond
v=v.replace(/sss/g,ms);
v=v.replace(/SSS/g,ms);
//second
varsecondStr=("0"+second);
v=v.replace(/ss/g,secondStr.substring(secondStr.length-2));
v=v.replace(/SS/g,secondStr.substring(secondStr.length-2));
//weekDay
v=v.replace(/E/g,weekDayString);
returnv;
}
//dateValue=2014-02-28
varcDate=_STAGE.stringToDate(dateValue);
cDate.setDate(cDate.getDate()+1);
currentDate=jAnXin.util.formatDate(cDate,"yyyy-MM-dd");
console.log(currentDate);//2014-03-01
正则替换日期并格式化日期
转数字型:
arttDate="2013年12月20日14:20:20";
ttDate=ttDate.replace(/[^0-9]/mg,'').match(/.{8}/);
alert(ttDate);
结果:
20131220
转日期型:
varttDate="2013年12月20日14:20:20";
ttDate=ttDate.match(/\d{4}.\d{1,2}.\d{1,2}/mg).toString();
ttDate=ttDate.replace(/[^0-9]/mg,'-');
alert(ttDate);
结果:
2013-12-20
超级正则替换:
varttDate="2013年12月20日14:20:20";
ttDate=ttDate.replace(/(\d{4}).(\d{1,2}).(\d{1,2}).+/mg,'$1-$2-$3');
alert(ttDate);
结果:
2013-12-20