js 怎样获取周和日期的时间

JavaScript016

js 怎样获取周和日期的时间,第1张

<script language="javascript">

//这个方法将取得某年(year)第几周(weeks)的星期几(weekDay)的日期

function getXDate(year,weeks,weekDay){

//用指定的年构造一个日期对象,并将日期设置成这个年的1月1日

//因为计算机中的月份是从0开始的,所以有如下的构造方法

var date = new Date(year,"0","1")

//取得这个日期对象 date 的长整形时间 time

var time = date.getTime()

//将这个长整形时间加上第N周的时间偏移

//因为第一周就是当前周,所以有:weeks-1,以此类推

//7*24*3600000 是一星期的时间毫秒数,(JS中的日期精确到毫秒)

time+=(weeks-1)*7*24*3600000

//为日期对象 date 重新设置成时间 time

date.setTime(time)

return getNextDate(date,weekDay)

}

//这个方法将取得 某日期(nowDate) 所在周的星期几(weekDay)的日期

function getNextDate(nowDate,weekDay){

//0是星期日,1是星期一,...

weekDay%=7

var day = nowDate.getDay()

var time = nowDate.getTime()

var sub = weekDay-day

time+=sub*24*3600000

nowDate.setTime(time)

return nowDate

}

//2008第1周的星期5

alert("2008第1周的星期5是:"+getXDate(2008,1,5))

//2008第51的星期5

alert("2008第51周的星期5是:"+getXDate(2008,51,5))

</script>

==========将以下内容保存成 .html格式的文件===========

<html>

<head>

<meta http-equiv="Content-Type" content="text/htmlcharset=utf8">

<script language="javascript">

//这个方法将取得某年(year)第几周(weeks)的星期几(weekDay)的日期

function getXDate(year,weeks,weekDay){

//用指定的年构造一个日期对象,并将日期设置成这个年的1月1日

//因为计算机中的月份是从0开始的,所以有如下的构造方法

var date = new Date(year,"0","1")

//取得这个日期对象 date 的长整形时间 time

var time = date.getTime()

//将这个长整形时间加上第N周的时间偏移

//因为第一周就是当前周,所以有:weeks-1,以此类推

//7*24*3600000 是一星期的时间毫秒数,(JS中的日期精确到毫秒)

time+=(weeks-1)*7*24*3600000

//为日期对象 date 重新设置成时间 time

date.setTime(time)

return getNextDate(date,weekDay)

}

//这个方法将取得 某日期(nowDate) 所在周的星期几(weekDay)的日期

function getNextDate(nowDate,weekDay){

//0是星期日,1是星期一,...

weekDay%=7

var day = nowDate.getDay()

var time = nowDate.getTime()

var sub = weekDay-day

time+=sub*24*3600000

nowDate.setTime(time)

return nowDate

}

//2008第1周的星期5

//alert("2008第1周的星期5是:"+getXDate(2008,1,5))

//2008第51的星期5

//alert("2008第51周的星期5是:"+getXDate(2008,51,5))

function alertx(){

var y = document.getElementById('y').value

var w = document.getElementById('w').value

var d = document.getElementById('d').value

var date = getXDate(y,w,d)

alert(y+"年的第"+w+"周的星期"+d+"的日期是:\n"+date.toLocaleString())

}

</script>

</head>

<body><center>

<h2>输入的年,周,星期求日期</h2>

<input type="text" name="y" id="y" size="6" value="2008"/>年的第

<input type="text" name="w" id="w" size="4" value="1"/>周 的星期

<input type="text" name="d" id="d" size="3" value="6"/>是什么日子呢?

<button onclick="alertx()">试试运气</button>

</body>

其实我是来混经验的

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

//获取当前日期在当前年第几周函数封装,例如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>