详解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 相关文章推荐
jquery 上下滚动广告
Jun 17 Javascript
jQuery实现简单网页遮罩层/弹出层效果兼容IE6、IE7
Jun 16 Javascript
Extjs grid panel自带滚动条失效的解决方法
Sep 11 Javascript
node.js中的http.request.end方法使用说明
Dec 10 Javascript
浅析js绑定事件的常用方法
May 15 Javascript
javascript宿主对象之window.navigator详解
Sep 07 Javascript
Angular中使用$watch监听object属性值的变化(详解)
Apr 24 Javascript
Javascript ES6中对象类型Sets的介绍与使用详解
Jul 17 Javascript
实战node静态文件服务器的示例代码
Mar 08 Javascript
vue使用ajax获取后台数据进行显示的示例
Aug 09 Javascript
Vue 中可以定义组件模版的几种方式
Aug 06 Javascript
JS数组方法slice()用法实例分析
Jan 18 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
Session服务器配置指南与使用经验的深入解析
2013/06/17 PHP
php 字符串压缩方法比较示例
2014/01/23 PHP
MySql数据库查询结果用表格输出PHP代码示例
2015/03/20 PHP
php结合web uploader插件实现分片上传文件
2016/05/10 PHP
php redis实现对200w用户的即时推送
2017/03/04 PHP
laravel model 两表联查示例
2019/10/24 PHP
php 多继承的几种常见实现方法示例
2019/11/18 PHP
一个JavaScript继承的实现
2006/10/24 Javascript
jQuery EasyUI API 中文文档 DateTimeBox日期时间框
2011/10/16 Javascript
jQuery中change事件用法实例
2014/12/26 Javascript
javascript下拉框选项单击事件的例子分享
2015/03/04 Javascript
AngularJs中 ng-repeat指令中实现含有自定义指令的动态html的方法
2017/01/19 Javascript
Linux使用Node.js建立访问静态网页的服务实例详解
2017/03/21 Javascript
Node.js和Express简单入门介绍
2017/03/24 Javascript
easyui关于validatebox实现多重规则验证的方法(必看)
2017/04/12 Javascript
详解ES6中的Map与Set集合
2019/03/22 Javascript
keep-Alive搭配vue-router实现缓存页面效果的示例代码
2020/06/24 Javascript
10分钟学会js处理json的常用方法
2020/12/06 Javascript
使用Python写一个量化股票提醒系统
2018/08/22 Python
使用python采集脚本之家电子书资源并自动下载到本地的实例脚本
2018/10/23 Python
通过python爬虫赚钱的方法
2019/01/29 Python
在windows下使用python进行串口通讯的方法
2019/07/02 Python
OpenCV模板匹配matchTemplate的实现
2019/10/18 Python
使用django和vue进行数据交互的方法步骤
2019/11/11 Python
python实现用户名密码校验
2020/03/18 Python
房屋出租协议书
2014/04/10 职场文书
师德师风自我评价范文
2014/09/11 职场文书
2014年“四风”问题个人整改措施
2014/09/17 职场文书
缓刑期间思想汇报范文
2014/10/10 职场文书
2014年爱国卫生工作总结
2014/11/22 职场文书
离婚起诉状范本
2015/05/19 职场文书
缅怀先烈主题班会
2015/08/14 职场文书
队名及霸气口号大全
2015/12/25 职场文书
JDBC连接的六步实例代码(与mysql连接)
2021/05/12 MySQL
python基础之模块的导入
2021/10/24 Python
SpringBoot中使用Redis作为全局锁示例过程
2022/03/24 Java/Android