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

JavaScript020

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>

首先需要了解Date对象:

1.Date.getDate()返回一个Data对象的月份日期值;

2.Date.getDay()返回一个Date对象的一周中的日期值;

3.Date.getFullYear()返回一个Date对象的年份值;

4.Date.getMonth()返回一个Date对象的月份值;

获取yyyy-mm-dd字符串的值代码如下:

var date = new Date("你需要的日期例如:2015-10-1") 

var mon = date.getMonth() + 1

var day = date.getDate()

var nowDay = date.getFullYear() + "-" + (mon<10?"0"+mon:mon) + "-" +(day<10?"0"+day:day)

mon变量就是月份;day变量就是日子;变量nowDay就是输出的yyyy-mm-dd格式的日期字符串。(mon<10?"0"+mon:mon)当月份小于10月的时候就会在月份前加0;(day<10?"0"+day:day)当日子小于10号时会在前加0;date.getFullYear()就是年份;输出nowDay就会获得想要的日期字符串了。