这篇文章主要介绍了JavaScript实现字符串与日期的互相转换及日期的格式化的方法,这里格式化使用的是正则表达式来替换日期后进行格式化,需要的朋友可以参考下
字符串转日期、日期转字符串
// 2014-02-25 /** * 字符串转时间(yyyy-MM-dd HH:mm:ss) * result (分钟) */ stringToDate : function(fDate){ var fullDate = fDate.split("-"); return new Date(fullDate[0], fullDate[1]-1, fullDate[2], 0, 0, 0); } /** * 格式化日期 * @param date 日期 * @param format 格式化样式,例如yyyy-MM-dd HH:mm:ss E * @return 格式化后的金额 */ formatDate : function (date, format) { var v = ""; if (typeof date == "string" || typeof date != "object") { return; } var year = date.getFullYear(); var month = date.getMonth()+1; var day = date.getDate(); var hour = date.getHours(); var minute = date.getMinutes(); var second = date.getSeconds(); var weekDay = date.getDay(); var ms = date.getMilliseconds(); var weekDayString = ""; if (weekDay == 1) { weekDayString = "星期一"; } else if (weekDay == 2) { weekDayString = "星期二"; } else if (weekDay == 3) { weekDayString = "星期三"; } else if (weekDay == 4) { weekDayString = "星期四"; } else if (weekDay == 5) { weekDayString = "星期五"; } else if (weekDay == 6) { weekDayString = "星期六"; } else if (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 var monthStr = ("0"+month); v = v.replace(/MM/g, monthStr.substring(monthStr.length-2)); //Day var dayStr = ("0"+day); v = v.replace(/dd/g, dayStr.substring(dayStr.length-2)); //hour var hourStr = ("0"+hour); v = v.replace(/HH/g, hourStr.substring(hourStr.length-2)); v = v.replace(/hh/g, hourStr.substring(hourStr.length-2)); //minute var minuteStr = ("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 var secondStr = ("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); return v; } // dateValue=2014-02-28 var cDate = _STAGE.stringToDate(dateValue); cDate.setDate(cDate.getDate()+1); currentDate = jAnXin.util.formatDate(cDate, "yyyy-MM-dd"); console.log(currentDate ); // 2014-03-01
正则替换日期并格式化日期
转数字型:
ar ttDate = "2013年12月20日 14:20:20"; ttDate = ttDate.replace(/[^0-9]/mg, '').match(/.{8}/); alert(ttDate);
结果:
20131220
转日期型:
var ttDate = "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
超级正则替换:
var ttDate = "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
The above is the detailed content of How to convert strings and dates to each other and format dates in JS. For more information, please follow other related articles on the PHP Chinese website!