详解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 相关文章推荐
JavaScript DOM学习第八章 表单错误提示
Feb 19 Javascript
AngularJS入门教程之学习环境搭建
Dec 06 Javascript
跟我学习javascript的闭包
Nov 16 Javascript
浅谈js原生拖放
Nov 21 Javascript
js将字符串中的每一个单词的首字母变为大写其余均为小写
Jan 05 Javascript
javascript验证香港身份证的格式或真实性
Feb 07 Javascript
Vue2.0父组件与子组件之间的事件发射与接收实例代码
Sep 19 Javascript
基于vue 开发中出现警告问题去除方法
Jan 25 Javascript
axios的拦截请求与响应方法
Aug 11 Javascript
解决LayUI表单获取不到data的问题
Aug 20 Javascript
vue props传值失败 输出undefined的解决方法
Sep 11 Javascript
JS FormData对象使用方法实例详解
Feb 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 程式大小
2006/12/06 PHP
php str_pad 函数用法简介
2009/07/11 PHP
php Smarty date_format [格式化时间日期]
2010/03/15 PHP
php全角字符转换为半角函数
2014/02/07 PHP
PHP获取数组最大值下标的方法
2015/05/12 PHP
PHP基于GD库的图像处理方法小结
2016/09/27 PHP
php UNIX时间戳用法详解
2017/02/16 PHP
PHP封装请求类实例分析【基于Yii框架】
2019/10/17 PHP
自己的js工具 Cookie 封装
2009/08/21 Javascript
Jquery Ajax的Get方式时需要注意URL地方
2011/04/07 Javascript
基于javascipt-dom编程 table对象的使用
2013/04/22 Javascript
js二级地域选择的实现方法
2013/06/17 Javascript
JavaScript 实现打印,打印预览,打印设置
2014/12/30 Javascript
JS实现进入页面时渐变背景色的方法
2015/02/25 Javascript
javascript随机抽取0-100之间不重复的10个数
2016/02/25 Javascript
AngularJS  $modal弹出框实例代码
2016/08/24 Javascript
node.js学习之交互式解释器REPL详解
2016/12/08 Javascript
jQuery中可见性过滤器简单用法示例
2018/03/31 jQuery
微信小程序实现点击按钮后修改颜色
2019/12/05 Javascript
压缩Vue.js打包后的体积方法总结(Vue.js打包后体积过大问题)
2020/02/03 Javascript
Python tkinter模块中类继承的三种方式分析
2017/08/08 Python
使用PyTorch实现MNIST手写体识别代码
2020/01/18 Python
JetBrains PyCharm(Community版本)的下载、安装和初步使用图文教程详解
2020/03/19 Python
瑞典快乐袜子:Happy Socks
2018/02/16 全球购物
Myprotein亚太地区:欧洲第一在线运动营养品牌
2020/12/20 全球购物
公积金转移接收函
2014/01/11 职场文书
宗教学大学生职业生涯规划范文
2014/02/08 职场文书
班级心理活动总结
2014/07/04 职场文书
政法干警核心价值观心得体会
2014/09/11 职场文书
优秀党员推荐材料
2014/12/18 职场文书
碧霞祠导游词
2015/02/09 职场文书
建党伟业电影观后感
2015/06/01 职场文书
2017公司年会主持人开幕词
2016/03/04 职场文书
如何使用Python提取Chrome浏览器保存的密码
2021/06/09 Python
解决sql server 数据库,sa用户被锁定的问题
2021/06/11 SQL Server
win10电脑右下角输入法图标不见了?Win10右下角不显示输入法的解决方法
2022/07/23 数码科技