JS显示上一周
<html>
<head>
<script>
var currDT;
var aryDay = new Array("日","一","二","三","四","五","六");//显示星期
var lastDay;//页面显示的最后一天
var firstDay;//页面显示的第一天
Date.prototype.format = function (format) {
var o = {
"M+": this.getMonth() + 1, //month
"d+": this.getDate(), //day
"h+": this.getHours(), //hour
"m+": this.getMinutes(), //minute
"s+": this.getSeconds(), //second
"q+": Math.floor((this.getMonth() + 3) / 3), //quarter
"S": this.getMilliseconds() //millisecond
}
if (/(y+)/.test(format)) format = format.replace(RegExp.$1,
(this.getFullYear() + "").substr(4 - RegExp.$1.length));
for (var k in o) if (new RegExp("(" + k + ")").test(format))
format = format.replace(RegExp.$1,
RegExp.$1.length == 1 ? o[k] :
("00" + o[k]).substr(("" + o[k]).length));
return format;
}
//初始化日期加载
function initDate() {
currDT = new Date();
showdate.innerHTML = currDT.toLocaleDateString(); //显示日期
var dw = currDT.getDay();//从Date对象返回一周中的某一天(0~6)
var tdDT;//日期 //在表格中显示一周的日期
var objTB = document.getElementById("mytable");//取得表格对象
for(var i=0;i<7;i++) {
tdDT = getDays()[i];
if(tdDT.toLocaleDateString() == currDT.toLocaleDateString()) {
objTB.rows[0].cells[i].style.color = "red";//currDT突出显示
}
dw = tdDT.getDay();//星期几
objTB.rows[0].cells[i].innerHTML = tdDT.getMonth()+1 + "月" + tdDT.getDate() + "日 星期" + aryDay[dw];//显示
}
//重新赋值
lastDay = getDays()[6];//本周的最后一天
firstDay = getDays()[0];//本周的第一天
} //取得当前日期一周内的某一天
function getWeek(i) {
var now = new Date();
var n = now.getDay();
var start = new Date();
start.setDate(now.getDate() - n + i);//取得一周内的第一天、第二天、第三天...
return start;
} //取得当前日期一周内的七天
function getDays() {
var days = new Array();
for(var i=1;i<=7;i++) {
days[i-1] = getWeek(i);
}
return days;
} //取得下一周的日期数(共七天)
function getNextWeekDatas(ndt) {
var days = new Array();
for(var i=1;i<=7;i++) {
var dt = new Date(ndt);
days[i-1] = getNextWeek(dt,i);
}
return days;
} //指定日期的下一周(后七天)
function getNextWeek(dt,i) {
var today = dt;
today.setDate(today.getDate()+i);
return today;
} //取得上一周的日期数(共七天)
function getPreviousWeekDatas(ndt) {
var days = new Array();
for(var i=-7;i<=-1;i++) {
var dt = new Date(ndt);
days[7+i] = getPreviousWeek(dt,i);
}
return days;
} //指定日期的上一周(前七天)
function getPreviousWeek(dt,i) {
var today = dt;
today.setDate(today.getDate()+i);
return today;
} //下一周
function nextWeek() {
setCurrDTAfter();//重设时间
showdate.innerHTML = currDT.toLocaleDateString(); //显示日期 //在表格中显示一周的日期
var objTB = document.getElementById("mytable");//取得表格对象
var dw = currDT.getDay();//从Date对象返回一周中的某一天(0~6)
var tdDT;//日期 for(var i=0;i<7;i++) {
tdDT = getNextWeekDatas(lastDay)[i];
if(tdDT.toLocaleDateString()==currDT.toLocaleDateString()) {
objTB.rows[0].cells[i].style.color = "red";//currDT突出显示
}
dw = tdDT.getDay();//星期几
objTB.rows[0].cells[i].innerHTML = tdDT.getMonth()+1 + "月" + tdDT.getDate() + "日 星期" + aryDay[dw]; //显示
}
//重新赋值
firstDay = getNextWeekDatas(lastDay)[0];//注意赋值顺序1
lastDay = getNextWeekDatas(lastDay)[6];//注意赋值顺序2
} //上一周
function previousWeek() {
settCurrDTBefore();
showdate.innerHTML = currDT.toLocaleDateString(); //显示日期 //在表格中显示一周的日期
var objTB = document.getElementById("mytable");//取得表格对象
var dw = currDT.getDay();//从Date对象返回一周中的某一天(0~6)
var tdDT;//日期 for(var i=0;i<7;i++) {
tdDT = getPreviousWeekDatas(firstDay)[i]; if(tdDT.toLocaleDateString()==currDT.toLocaleDateString()) {
objTB.rows[0].cells[i].style.color = "red";//currDT突出显示
}
dw = tdDT.getDay();//星期几
objTB.rows[0].cells[i].innerHTML = tdDT.getMonth()+1 + "月" + tdDT.getDate() + "日 星期" + aryDay[dw];//显示
}
//重新赋值
lastDay = getPreviousWeekDatas(firstDay)[6];//注意赋值顺序1
firstDay = getPreviousWeekDatas(firstDay)[0];//注意赋值顺序2
} //当前日期后第七天
function setCurrDTAfter() {
currDT.setDate(currDT.getDate()+7);
} //当前日期前第七天
function settCurrDTBefore() {
currDT.setDate(currDT.getDate()-7);
}
</script>
</head>
<body onload="initDate()">
<table align="center">
<tr>
<td>
<input type="button" name="previousweek" value="上一周" onclick="previousWeek();"/>
<span id="showdate"></span>
<input type="button" name="previousweek" value="下一周" onclick="nextWeek();"/>
</td>
</tr>
</table>
<!--显示日期-->
<table id="mytable" cellspacing="0" border=="1" align="center" width="90%">
<tr>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
</table>
</body>
</html>
JS显示上一周的更多相关文章
- JS原生上传大文件显示进度条-php上传文件
JS原生上传大文件显示进度条-php上传文件 在php.ini修改需要的大小: upload_max_filesize = 8M post_max_size = 10M memory_li ...
- JavaScript(js)获取本周,本月,本季,本年,上月,上周,上季,去年,上二周,上二月的时间段的代码
function dateChange(name){ var beginTimeObject = document.getElementById("beginTime"); var ...
- js实现上传文件实时显示缩略图
<input name="coverImage" onClick="" onchange="setImagePreview(this);&quo ...
- js获取上一个月、下一个月格式为yyyy-mm-dd的日期
/** * 获取上一个月 * * @date 格式为yyyy-mm-dd的日期,如:2014-01-25 */ function getPreMonth(date) { var arr = date. ...
- vue 实现上一周、下一周切换功能
效果图: html 显示部分: js 显示部分: preNextBtn(val){ let _this = this; this.tableList = []; //数据重置为空 _this.show ...
- 上一周,小白的我试着搭建了两个个人博客:在github和openshift上
上一周,突发奇想,想搭建个自己的博客. 由于是突发奇想,自然想先找免费的试试手.仔细搜索下,选定了目标Openshift和Github. Openshift 安装WordPress OpenShift ...
- 怎么通过js获取上传的图片信息(临时保存路径,名称,大小)然后通过ajax传递给后端?
今天在论坛上看到这样一个问题,有必要编辑搜集下. 问题描述:怎么通过js获取上传的图片信息(临时保存路径,名称,大小)然后通过ajax传递给后端 题主用jquery接收 <input name= ...
- KindEditor文件上传成功前端显示上传失败
一.使用kindeditor 上传图片 ,根据kindeditor 要求返回了相应的数据, 但是kindeditor 插件显示上传失败!!! 解决方法: 各个版本位置可能不同!!! 1.修改kinde ...
- [转]WordPress“添加媒体”文件时只显示上传到当前文章的附件图片
使用WordPress的朋友应该都清楚,特别是喜欢图文并茂的网站,肯定离不开的就是WordPress文章编辑页面的“添加媒体”按钮,每次点击就能弹出一个插入多媒体的界面,然后页面默认就会列举加载所有最 ...
随机推荐
- CSS background-size contain 与cover的区别
最近在重温CSS,发现好多东西都忘了,比如background-size属性中,contain与cover的区别. 菜鸟教程上是这么说的: 有点难理解,通俗解释就是:两者均以保持图像宽高比的形式缩放来 ...
- json处理第二篇:利用fastjson处理json
fastjson是阿里开源的工具包,主要是利用com.alibaba.fastjson.JSON及其两个子类com.alibaba.fastjson.JSONObject.com.alibaba.fa ...
- leetcode 196. Delete Duplicate Emails 配合查询的delete
https://leetcode.com/problems/delete-duplicate-emails/description/ 题意要对原来的数据表进行删除,不删除不行,它每次只输出原来那个表. ...
- inventor安装失败怎样卸载安装inventor 2016?
AUTODESK系列软件着实令人头疼,安装失败之后不能完全卸载!!!(比如maya,cad,3dsmax等).有时手动删除注册表重装之后还是会出现各种问题,每个版本的C++Runtime和.NET f ...
- 注意mysql connector的版本
今天把ubuntu升级到16.04后,使用mysql connector 1.1.8版本(centos 还是ubuntu不清楚)访问数据库,出现莫名其妙的错误. 后来下载mysql connector ...
- Jquery load()加载GB2312页面时出现乱码的解决方法
问题描述:jquery的字符集是utf-8,load方法加载完GB2312编码静态页面后,出现中文乱码. a.php <script language="javascript" ...
- 虚拟机复制操作CentOS6导致eth0转为eth0以至于网络服务启动失败的解决方案
CentOS6复制到虚拟机中eth0转为了eth1 原因: CentOS6硬盘上的信息保存着操作系统的信息, 将该硬盘上的信息拷贝到另一开新的硬盘上时, 硬件的环境就会一定会发生变化, 就那网卡来首, ...
- 导出CSV
public FileResult ExportExcel() { var sbHtml = new StringBuilder(); sbHtml.Append("<table bo ...
- MongoDB 搭建Node.js开发环境
理解Mongoose Elegant MongoDB object modeling for Node.js 安装Mongoose $ cnpm install --save mongoose ...
- 从今天开始学习Swift -- Swift 初见 (转)
原文地址:http://www.cocoachina.com/newbie/basic/2014/0604/8675.html Swift系列文章由CocoaChina翻译小组翻译自苹果的官方文档 ...