js获取当前日期第几周

JavaScript013

js获取当前日期第几周,第1张

其实我是来混经验的

////////////////////////////////////////////////////////////////////////////////////////////////////

//获取当前日期在当前年第几周函数封装,例如2014-01-10 是当前年的第2周

////////////////////////////////////////////////////////////////////////////////////////////////////

function theWeek() {

var totalDays = 0

now = new Date()

years = now.getYear()

if (years <1000)

years += 1900

var days = new Array(12)

days[0] = 31

days[2] = 31

days[3] = 30

days[4] = 31

days[5] = 30

days[6] = 31

days[7] = 31

days[8] = 30

days[9] = 31

days[10] = 30

days[11] = 31

//判断是否为闰年,针对2月的天数进行计算

if (Math.round(now.getYear() / 4) == now.getYear() / 4) {

days[1] = 29

} else {

days[1] = 28

}

if (now.getMonth() == 0) {

totalDays = totalDays + now.getDate()

} else {

var curMonth = now.getMonth()

for (var count = 1count <= curMonthcount++) {

totalDays = totalDays + days[count - 1]

}

totalDays = totalDays + now.getDate()

}

//得到第几周

var week = Math.round(totalDays / 7)

return week

}

下面是获取当月的第几周

<script language="javascript">var getMonthWeek = function (a, b, c) { /* a = d = 当前日期 b = 6 - w = 当前周的还有几天过完(不算今天) a + b 的和在除以7 就是当天是当前月份的第几周 */ var date = new Date(a, parseInt(b) - 1, c), w = date.getDay(), d = date.getDate()return Math.ceil( (d + 6 - w) / 7 )}

var getYearWeek = function (a, b, c) { /* date1是当前日期 date2是当年第一天 d是当前日期是今年第多少天 用d + 当前年的第一天的周差距的和在除以7就是本年第几周 */ var date1 = new Date(a, parseInt(b) - 1, c), date2 = new Date(a, 0, 1), d = Math.round((date1.valueOf() - date2.valueOf()) / 86400000)return Math.ceil( (d + ((date2.getDay() + 1) - 1)) / 7 )}today=new Date()//获取当前时间var y = today.getYear()var m = today.getMonth()+1var d = today.getDate()document.write( "今天是",m,"月的第 ", getMonthWeek(y, m, d), " 周" )</script>

//

定义变量d为当年的1月1日0点

var

d

=

new

Date()

d.setFullYear(d.getFullYear(),0,1)

//

定义day为当年1月1日的星期数(0为星期天,1为星期1,6为星期6)

var

day

=

d.getDay()

//

定义fistweekleft为第一周剩余的天数,此处认为星期一是一周的第一天,如果将星期天定义为一周的第一天,请写成fistweekleft

=

(6-day)%6

var

fistweekleft

=

(7-day)%7

//

将d赋值为第二周的第一天,1+fistweekleft号为第一周最后天,1+fistweekleft+1为第二周第一天

d.setFullYear(d.getFullYear(),0,1+fistweekleft+1)

//

定义变量d1为当天

var

d1

=

new

Date()

//

当前时间与当年第二周第一天的毫秒数之差除以一周的毫秒数并取整即为当前日期距本的第二周已过的周数

//

结果加上2即为当天为本年的第几周(如果在一周的第一天的0点运行此程序,结果会比实际值大1,此种情况请自行处理)

alert(2+parseInt((d1.getTime()-d.getTime())/1000/60/60/24/7))