JS对日期的处理

这几天一直被日期的各种转换缠绕在,现在终于解决,顺便把自己这几天的收获贡献出来,与大家一起共同成长。

1、将日期字符串转换成日期对象。
yyyy-mm-dd这种格式的字符串转化成日期对象,可以用new Date(Date.parse(str.replace(/-/g,"/")));
如下:
var endDateStr = endYear +"-"+ endMonth  +"-"+  endDay;
endDate = new Date(Date.parse(endDateStr.replace(/-/g,"/")));
实例显示:
endDateStr:"2010-5-20"
Date.parse(endDateStr.replace(/-/g,"/")):1274284800000
endDate:Thu May 20 00:00:00 UTC+0800 2010

yyyy/mm/dd这种格式转化成日期对象,可以用new Date(str);
如下:
var endDateStr = endYear +"/"+ endMonth  +"/"+  endDay;
endDate = new Date(endDateStr);
实例显示:"2010/5/20"、Thu May 20 00:00:00 UTC+0800 2010

yyyymmdd这种格式转换成日期对象,可以用new Date(sDate.replace(/^(\d{4})(\d{2})(\d{2})$/,"$1/$2/$3"));
如下:
var sDate="20090516";
sDate=sDate.replace(/^(\d{4})(\d{2})(\d{2})$/,"$1/$2/$3");
new Date(sDate);
实例显示:"2009/05/16"、Sat May 16 00:00:00 UTC+0800 2009

2、显示当前日期的下一天。
var date = new Date();
var b = date.getDate();
b += 1;
date.setDate(b);

3、求两个日期之间相差的天数。
var Date1 =new Date(2008,6,28);               //Mon Jul 28 00:00:00 UTC+0800 2008
var Date2 =new Date(2009,5,16);               //Tue Jun 16 00:00:00 UTC+0800 2009
var n  = (Date2.getTime()-Date1.getTime())/(24*60*60*1000);  //323
var n  = (Date2-Date1)/(24*60*60*1000);   //直接相减得到的是毫秒数。

 4、dateObj.getDay() 返回 Date 对象中用本地时间表示的一周中的日期值。
getDay 方法所返回的值是一个处于 0 到 6 之间的整数,它代表了一周中的某一天,返回值与一周中日期的对应关系如下:

值 星期
0 星期天
1 星期一
2 星期二
3 星期三
4 星期四
5 星期五
6 星期六

此方法可以用来对 ‘工作日’的判断。


posted @ 2009-05-16 15:24 断点 阅读(87) | 评论 (0)

你可能感兴趣的:(JS对日期的处理)