1.获取天数, 如昨天,今天,近1星期,近14天 function GetDateStr(AddDayCount) { var dd = new Date(); dd.setDate(dd.getDate()+AddDayCount);//获取AddDayCount天后的日期 var y = dd.getFullYear(); var m = dd.getMonth()+1;//获取当前月份的日期 var d = dd.getDate(); //判断 月 if(m < 10){ m = "0" + m; }else{ 在JavaScript中,获取今天的日期以及过去日期是常见的需求,尤其在数据分析、日志记录或时间相关的Web应用中。本文将详细解析如何通过JavaScript实现获取指定天数、月份和年前的日期。 我们来看获取过去天数的函数`GetDateStr(AddDayCount)`。这个函数接受一个参数`AddDayCount`,它表示要回溯或前进的天数。函数内部首先创建了一个新的`Date`对象`dd`,然后通过`setDate()`方法将日期设置为当前日期加上`AddDayCount`天。接着,分别获取年份`y`、月份`m`和日期`d`。由于JavaScript的`getMonth()`方法返回的月份是从0开始的,因此需要加1得到实际的月份。为了避免月份和日期为一位数时显示不完整,如01月和01日,需要进行零填充。如果月份或日期小于10,则在前面添加一个0。 代码如下: ```javascript function GetDateStr(AddDayCount) { var dd = new Date(); dd.setDate(dd.getDate() + AddDayCount); var y = dd.getFullYear(); var m = dd.getMonth() + 1; var d = dd.getDate(); if (m < 10) { m = "0" + m; } else { m = m; } if (d < 10) { d = "0" + d; } else { d = d; } return y + "-" + m + "-" + d; } ``` 接下来,我们有`GetMonthStr(AddMonthCount)`函数,用于获取过去几个月的日期。这个函数的工作原理与`GetDateStr()`类似,只是使用了`setMonth()`方法来改变月份。同样,注意月份的处理,因为`setMonth()`会自动处理闰年的情况。 ```javascript function GetMonthStr(AddMonthCount) { var dd = new Date(); dd.setMonth(dd.getMonth() + AddMonthCount); var y = dd.getFullYear(); var m = dd.getMonth() + 1; var d = dd.getDate(); if (m < 10) { m = "0" + m; } else { m = m; } if (d < 10) { d = "0" + d; } else { d = d; } return y + "-" + m + "-" + d; } ``` `GetYearStr(AddYearCount)`函数用于获取过去几年的日期。它通过`setYear()`方法设置年份,其余部分与前面的函数相同。 ```javascript function GetYearStr(AddYearCount) { var dd = new Date(); dd.setYear(dd.getFullYear() + AddYearCount); var y = dd.getFullYear(); var m = dd.getMonth() + 1; var d = dd.getDate(); if (m < 10) { m = "0" + m; } else { m = m; } if (d < 10) { d = "0" + d; } else { d = d; } return y + "-" + m + "-" + d; } ``` 这些函数可以帮助开发者轻松地获取过去或未来的日期,以满足各种时间相关的编程需求。例如,你可以用它们来展示最近一周、一月或一年的数据,或者在日历应用中切换日期等。 需要注意的是,JavaScript的日期处理在不同的浏览器中可能存在差异,特别是在处理时区和闰年问题时。为了确保代码在所有环境下都能正确工作,建议使用`moment.js`或`date-fns`等成熟的日期库,它们提供了更强大、更一致的日期操作功能。不过,对于简单的日期处理,上述的JavaScript原生方法已经足够。
- 粉丝: 6
- 资源: 967
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- java毕业设计-基于SSM框架的传统服饰文化体验平台【代码+部署教程】
- 优化领域的模拟退火算法详解与实战
- NewFileTime-x64.zip.fgpg
- 基于Python和HTML的Chinese-estate-helper房地产爬虫及可视化设计源码
- 基于SpringBoot2.7.7的当当书城Java后端设计源码
- 基于Python和Go语言的开发工具集成与验证设计源码
- 基于Python与JavaScript的国内供应商管理系统设计源码
- aspose.words-20.12-jdk17
- 基于czsc库的Python时间序列分析设计源码
- 基于Java、CSS、JavaScript、HTML的跨语言智联平台设计源码