//这个方法将取得某年(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就会获得想要的日期字符串了。