- 论坛徽章:
- 0
|
- var data = "2009-01-01";
- var n = Date.parse(data .replace(/-/g,"/"));
- var d = new Date(n);
- d.getWeekNew();//日期年中的第几周 (以这年开始的第一天开始算)
- d.getWeekNew(true);//日期年中的第几周 (以这年开始的第一个星期一开始算)
- d.getDataNew();//日期中在这年的第几天
- var fe = getFirstAndEnd(d);
- fe.first.format("yyyy-MM-dd");//这周的开始日期
- fe.end.format("yyyy-MM-dd");//这周的结束日期
- Date.prototype.getWeekNew = function(flag) {
- var first = new Date(this.getFullYear(),0,1);
- var n = parseInt("1065432".charAt(first.getDay()));
- n = this.getTime()-first.getTime()-n*24*60*60*1000;
- n = Math.ceil(n/(7*24*60*60*1000));
- return (flag==true&&first.getDay()!=1)?(n+1):n;
- };
- Date.prototype.getDataNew = function() {
- var first = new Date(this.getFullYear(),0,1);
- var n = parseInt("1065432".charAt(first.getDay()));
- var m = n;
- n = this.getTime()-first.getTime()-n*24*60*60*1000;
- n = Math.ceil(n/(24*60*60*1000));
- return (n+m+1);
- };
- Date.prototype.format = function(format) {
- var o = {
- "M+" : this.getMonth()+1,//month
- "d+" : this.getDate(), //day
- "h+" : this.getHours(), //hour
- "m+" : this.getMinutes(), //minute
- "s+" : this.getSeconds(), //second
- "q+" : Math.floor((this.getMonth()+3)/3), //quarter
- "S" : this.getMilliseconds() //millisecond
- }
- if(/(y+)/.test(format)) format=format.replace(RegExp.$1,
- (this.getFullYear()+"").substr(4 - RegExp.$1.length));
- for(var k in o)if(new RegExp("("+ k +")").test(format))
- format = format.replace(RegExp.$1,
- RegExp.$1.length==1 ? o[k] : ("00" + o[k]).substr(("" + o[k]).length));
- return format;
- };
- function getFirstAndEnd(d) {
- var w = d.getDay(), n = 24*60*60*1000;
- var first = new Date(d.getTime() - parseInt("6012345".charAt(w))*n);
- var end = new Date(d.getTime() + parseInt("0654321".charAt(w))*n);
- return {first: first,end:end};
- }
复制代码
希望以上方法能对新手有点帮助!
[ 本帖最后由 wangjianEgg 于 2009-5-6 17:20 编辑 ] |
|