这篇文章主要介绍了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
以上就是js怎么实现字符串与日期的互相转换及日期的格式化的详细内容。