js获取当前日期,然后根据当前日期获取到上周周一跟周五的日期,并格式化日期yyyy-MM-dd

JavaScript018

js获取当前日期,然后根据当前日期获取到上周周一跟周五的日期,并格式化日期yyyy-MM-dd,第1张

获取 日期 时间 星期几

var d = new Date()

var datestr = "今天是: " +d.getFullYear() + "-" +(d.getMonth()+1) + "-" + d.getDate() + " " + d.getHours() + ":" + d.getMinutes() + ":" + d.getSeconds() + " 星期"+"日一二三四五六".charAt(d.getDay())

// 判断闰年

Date.prototype.isLeapYear = function()

{

return (0==this.getYear()%4&&((this.getYear()%100!=0)||(this.getYear()%400==0)))

}

// 日期格式化

// 格式 YYYY/yyyy/YY/yy 表示年份

// MM/M 月份

// W/w 星期

// dd/DD/d/D 日期

// hh/HH/h/H 时间

// mm/m 分钟

// ss/SS/s/S 秒

//---------------------------------------------------

Date.prototype.Format = function(formatStr)

{

var str = formatStr

var Week = ['日','一','二','三','四','五','六']

str=str.replace(/yyyy|YYYY/,this.getFullYear())

str=str.replace(/yy|YY/,(this.getYear() % 100)>9 (this.getYear() % 100).toString():'0' + (this.getYear() % 100))

.......

通过getDay() 方法可返回表示星期的某一天的数字,返回的数字分别0-6,对应周日-周六

你可以通过返回数字结合数组来输出对应名称

<script>

var d=new Date()

var weekday=new Array()

weekday[0]="星期日"

weekday[1]="星期一"

weekday[2]="星期二"

weekday[3]="星期三"

weekday[4]="星期四"

weekday[5]="星期五"

weekday[6]="星期六"

alert("今天是:  " + weekday[d.getDay()])

</script>

<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>