详解JavaScript对Date对象的操作问题(生成一个倒数7天的数组)


Posted in Javascript onOctober 01, 2015

问题描述:

使用JavaScript生成一个倒数7天的数组。

比如今天是10月1号,生成的数组是["9月25号","9月26号","9月27号","9月28号","9月29号","9月30号","10月1号"]。

这个难点就是需要判断这个月份(可能还需要上一个月份)是30天还是31天,而且还有瑞年的2月28天或者29天。

解答思路:

不需要那么复杂,在js中非常简单,因为js的date对象是可以参与数学运算的!!!看下面的代码:

var now = new Date('2012/3/2 12:00:00'); // 这个算法能自动处理闰年和非闰年。2012年是闰年,所以2月有29号
var s = '';
var i = 0;
while (i < 7) {
 
 s += now.getFullYear() + '/' + (now.getMonth() + 1) + '/' + now.getDate() + '\n';
 now = new Date(now - 24 * 60 * 60 * 1000); // 这个是关键!!!减去一天的毫秒数效果就是把日期往前推一天
 i++;
}
console.log(s);

结果如图:

详解JavaScript对Date对象的操作问题(生成一个倒数7天的数组)

如果需求不是指定某一天的时间,而是根据系统当前的时间,来计算也是可以的。

根据当前系统时间,来计算这个倒数7天的数组:

var now = new Date(); // 这个算法能自动处理闰年和非闰年。2012年是闰年,所以2月有29号
var s = '';
var i = 0;
while (i < 7) {
   
    s += now.getFullYear() + '/' + (now.getMonth() + 1) + '/' + now.getDate() + '\n';
    now = new Date(now - 24 * 60 * 60 * 1000); // 这个是关键!!!减去一天的毫秒数效果就是把日期往前推一天
    i++;
}
console.log(s);

结果如图所示:

详解JavaScript对Date对象的操作问题(生成一个倒数7天的数组)

以上就是本文的全部内容,希望对大家学习js date对象操作有所帮助。下篇文章给大家介绍有关js的日期格式化问题,详细了解请点击javascript Date format。

Javascript 相关文章推荐
open 动态修改img的onclick事件示例代码
Nov 13 Javascript
JS OffsetParent属性深入解析
Jan 13 Javascript
js 获取、清空input type=&quot;file&quot;的值示例代码
Feb 19 Javascript
Windows 系统下安装和部署Egret的开发环境
Jul 31 Javascript
jQuery()方法的第二个参数详解
Apr 29 Javascript
浅谈被jQuery抛弃的函数及替代函数
May 03 Javascript
JavaScript实现Java中Map容器的方法
Oct 09 Javascript
详解Angularjs 如何自定义Img的ng-load 事件
Feb 15 Javascript
npm 下载指定版本的组件方法
May 17 Javascript
浅析前端路由简介以及vue-router实现原理
Jun 01 Javascript
Node.js + express基本用法教程
Mar 14 Javascript
JavaScript实现拖动对话框效果的实现代码
Oct 12 Javascript
RequireJS入门一之实现第一个例子
Sep 30 #Javascript
基于jQuery Bar Indicator 插件实现进度条展示效果
Sep 30 #Javascript
jquery插件pagination实现无刷新ajax分页
Sep 30 #Javascript
浅谈Javascript中substr和substring的区别
Sep 30 #Javascript
jQuery复制表单元素附源码分享效果演示
Sep 30 #Javascript
js实现创建删除html元素小结
Sep 30 #Javascript
node.js下LDAP查询实例分享
Sep 30 #Javascript
You might like
PHP的array_diff()函数在处理大数组时的效率问题
2011/11/27 PHP
php自定义加密与解密程序实例
2014/12/31 PHP
php fseek函数读取大文件两种方法
2016/10/12 PHP
js监听表单value的修改同步问题,跨浏览器支持
2009/12/31 Javascript
JavaScript中的作用域链和闭包
2012/06/30 Javascript
面向对象设计模式的核心法则
2013/11/10 Javascript
常见表单重复提交问题整理及解决方法
2013/11/13 Javascript
基于NodeJS的前后端分离的思考与实践(二)模版探索
2014/09/26 NodeJs
js实现登陆遮罩效果的方法
2015/07/28 Javascript
IE9+已经不对document.createElement向下兼容的解决方法
2015/09/14 Javascript
js实现遍历含有input的table实例
2015/12/07 Javascript
Textarea输入字数限制实例(兼容iOS&amp;安卓)
2017/07/06 Javascript
详解Webpack DLL用法以及功能
2017/07/11 Javascript
vue-devtools的安装步骤
2018/04/23 Javascript
微信小程序数据统计和错误统计的实现方法
2019/06/26 Javascript
node获取客户端ip功能简单示例
2019/08/24 Javascript
layui在form表单页面通过Validform加入简单验证的方法
2019/09/06 Javascript
Javascript数组及类数组相关原理详解
2020/10/29 Javascript
[19:15]DK战队纪录片
2014/09/02 DOTA
Python入门教程之运算符与控制流
2016/08/17 Python
启动targetcli时遇到错误解决办法
2017/10/26 Python
Python requests库用法实例详解
2018/08/14 Python
python爬虫租房信息在地图上显示的方法
2019/05/13 Python
50行Python代码实现视频中物体颜色识别和跟踪(必须以红色为例)
2019/11/20 Python
python列表推导式操作解析
2019/11/26 Python
opencv+python实现鼠标点击图像,输出该点的RGB和HSV值
2020/06/02 Python
使用OpenCV校准鱼眼镜头的方法
2020/11/26 Python
python Pexpect模块的使用
2020/12/25 Python
HTML5中外部浏览器唤起微信分享
2020/01/02 HTML / CSS
值传递还是引用传递
2015/02/08 面试题
岗位职责风险防控
2014/02/18 职场文书
学生干部培训方案
2014/06/12 职场文书
和谐社区口号
2014/06/19 职场文书
党的群众路线教育实践活动总结报告
2014/07/03 职场文书
个人工作能力自我评价
2015/03/05 职场文书
2015年文明创建工作总结
2015/04/30 职场文书