使用Date对象可以获取时间相关的信息。
获取当前时间:
var date = new Date();var year = dategetFullYear();
var month = dategetMonth() + 1;
var day = dategetDate();
var hour = dategetHours();
var minute = dategetMinutes();
var second = dategetSeconds();
alert(year + '-' + month + '-' + day + ' ' + hour + ':' + minute + ':' + second);
获取一星期前的时间:
var now = new Date();var date = new Date(nowgetTime() - 7 24 3600 1000);
var year = dategetFullYear();
var month = dategetMonth() + 1;
var day = dategetDate();
var hour = dategetHours();
var minute = dategetMinutes();
var second = dategetSeconds();
alert(year + '-' + month + '-' + day + ' ' + hour + ':' + minute + ':' + second);
<script>
function tab(dayNum){
var oDate = new Date(); //获取当前时间
var dayArr = [oDate]; //定义一个数组存储所以时间
for(var i=0;i<dayNum;i++){
dayArrpush(new Date(oDategetFullYear(),oDategetMonth(),oDategetDate() + i)); //把未来几天的时间放到数组里
}
return dayArr; //返回一个数组。
}
alert(tab(5)); //函数调用。
</script>
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
<style>
td{
border:1px solid;
}
button{
margin: 5px;
}
</style>
<script>
windowonload = function(){
var cells = documentgetElementById('monitor')getElementsByTagName('td');
var clen = cellslength;
var currentFirstDate;
var formatDate = function(date){
var year = dategetFullYear()+'年';
var month = (dategetMonth()+1)+'月';
var day = dategetDate()+'日';
var week = '('+['星期天','星期一','星期二','星期三','星期四','星期五','星期六'][dategetDay()]+')';
return year+month+day+' '+week;
};
var addDate= function(date,n){
datesetDate(dategetDate()+n);
return date;
};
var setDate = function(date){
var week = dategetDay()-1;
date = addDate(date,week-1);
currentFirstDate = new Date(date);
for(var i = 0;i<clen;i++){
cells[i]innerHTML = formatDate(i==0 date : addDate(date,1));
}
};
documentgetElementById('last-week')onclick = function(){
setDate(addDate(currentFirstDate,-7));
};
documentgetElementById('next-week')onclick = function(){
setDate(addDate(currentFirstDate,7));
};
setDate(new Date());
}
</script>
</head>
<body>
<button id="last-week">上一周</button><button id="next-week">下一周</button>
<table id="monitor">
<tr>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
</table>
</body>
</html>
没有这个api。只能自己写:
获取该年份,判断闰年平年
判定该年1月1日是周几,并记录
按照月份以及日期进行日期的排列
创建二维数组,第一层存储周数,第二层存储具体日期
for循环,对数组写入数据
完成
这样就可以完成一个简单的周数存储。当然也可以用对象的形式,创建更多的对象检索属性,优化周数检索速度
下面的算法是,2009年的第1周是从第一个星期一开始,就是1月5日。不然2009年的第1周的星期一,会跑到2008年12月去了。
<script>
fun(2008, 30);//2008年的第30周
function fun(year, week) {
var d = new Date(year, 0, 1);
var time = dgetTime();
var t = week 7 24 3600 1000;
time += t;
d = new Date(time);
var w = dgetDay();
var d1 = new Date(time - (w - 1) 24 3600 1000);
var d2 = new Date(time + ((7 - w) 24 3600 1000));
print(d1);
print(d2);
}
function print(d) {
var y = dgetFullYear();
var m = dgetMonth() + 1;
m = m < 10 "0" + m : "" + m;
var day = dgetDate();
day = day < 10 "0" + day : "" + day;
var weekDay = dgetDay();
var wk = ["星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六"]
alert(y + "-" + m + "-" + day + " " + wk[weekDay]);
}
</script>
代码
// 获取当前星期的星期一的日期,返回的是一个Date对象。
function getMonDate()
{
var d=new Date(),
day=dgetDay(),
date=dgetDate();
if(day==1)
return d;
if(day==0)
dsetDate(date-6);
else
dsetDate(date-day+1);
return d;
}
// 0-6转换成中文名称
function getDayName(day)
{
var day=parseInt(day);
if(isNaN(day) || day<0 || day>6)
return false;
var weekday=["星期天","星期一","星期二","星期三","星期四","星期五","星期六"];
return weekday[day];
}
// d是当前星期一的日期对象
var d=getMonDate();
var arr=[];
for(var i=0; i<7; i++)
{
arrpush(dgetFullYear()+'年'+(dgetMonth()+1)+'月'+dgetDate()+'日 ('+getDayName(dgetDay())+')');
dsetDate(dgetDate()+1);
}
显示
2013年3月18日 (星期一)
2013年3月19日 (星期二)
2013年3月20日 (星期三)
2013年3月21日 (星期四)
2013年3月22日 (星期五)
2013年3月23日 (星期六)
2013年3月24日 (星期天)
其实我是来混经验的
////////////////////////////////////////////////////////////////////////////////////////////////////
//获取当前日期在当前年第几周函数封装,例如2014-01-10 是当前年的第2周
////////////////////////////////////////////////////////////////////////////////////////////////////
function theWeek() {
var totalDays = 0;
now = new Date();
years = nowgetYear()
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 (Mathround(nowgetYear() / 4) == nowgetYear() / 4) {
days[1] = 29
} else {
days[1] = 28
}
if (nowgetMonth() == 0) {
totalDays = totalDays + nowgetDate();
} else {
var curMonth = nowgetMonth();
for (var count = 1; count <= curMonth; count++) {
totalDays = totalDays + days[count - 1];
}
totalDays = totalDays + nowgetDate();
}
//得到第几周
var week = Mathround(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 = dategetDay(), d = dategetDate(); return Mathceil( (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 = Mathround((date1valueOf() - date2valueOf()) / 86400000); return Mathceil( (d + ((date2getDay() + 1) - 1)) / 7 ); }; today=new Date();//获取当前时间var y = todaygetYear();var m = todaygetMonth()+1;var d = todaygetDate();documentwrite( "今天是",m,"月的第 ", getMonthWeek(y, m, d), " 周" ); </script>
获取 日期 时间 星期几
var d = new Date();
var datestr = "今天是: " +dgetFullYear() + "-" +(dgetMonth()+1) + "-" + dgetDate() + " " + dgetHours() + ":" + dgetMinutes() + ":" + dgetSeconds() + " 星期"+"日一二三四五六"charAt(dgetDay())
// 判断闰年
DateprototypeisLeapYear = function()
{
return (0==thisgetYear()%4&&((thisgetYear()%100!=0)||(thisgetYear()%400==0)));
}
// 日期格式化
// 格式 YYYY/yyyy/YY/yy 表示年份
// MM/M 月份
// W/w 星期
// dd/DD/d/D 日期
// hh/HH/h/H 时间
// mm/m 分钟
// ss/SS/s/S 秒
//---------------------------------------------------
DateprototypeFormat = function(formatStr)
{
var str = formatStr;
var Week = ['日','一','二','三','四','五','六'];
str=strreplace(/yyyy|YYYY/,thisgetFullYear());
str=strreplace(/yy|YY/,(thisgetYear() % 100)>9 (thisgetYear() % 100)toString():'0' + (thisgetYear() % 100));
以上就是关于js获取当前时间和一星期前的时间全部的内容,包括:js获取当前时间和一星期前的时间、js获取当前时间以及未来一星期(或者可以规定天数)的时间、js点击上一周获取上N周的日期和对应的星期,击下一周获取下N周的日期和对应的星期等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)