javascript以当前日期为准计算昨天、7天、30天直接输出日期的解决方案

简介: javascript以当前日期为准计算昨天、7天、30天直接输出日期的解决方案

getDate(days)函数

days为时间间隔的天数,+代表今日往后计算;-代表今日往前计算。

    function getDate(days) {
        //定义今日标准时间;
        var d = new Date();
        var nowYear = d.getFullYear().toString();//今年
        var nowMonth = timeAdd0((d.getMonth() + 1).toString());//当月
        var nowDay = timeAdd0(d.getDate().toString());//当日
        var now = nowYear + "-" + nowMonth + "-" + nowDay;//今日标准时间; 2020-09-02
        //日期计算;
        var startDate = new Date(Date.parse(now.replace(/-/g, '/'))); //将开始时间由字符串格式转换为日期格式
        var value = startDate.getTime();  //将开始时间转为毫秒
        value += days * (24 * 3600 * 1000); //将天数转换成毫秒后与开始时间相加得到结束时间的毫秒数
        var d2 = new Date(value);    //将得到的毫秒数转换为日期
        var nowYear2 = d2.getFullYear().toString();//今年
        var nowMonth2 = timeAdd0((d2.getMonth() + 1).toString());//当月
        var nowDay2 = timeAdd0(d2.getDate().toString());//当日
        var endDate = nowYear2 + "-" + nowMonth2 + "-" + nowDay2;
        return endDate;
    }
    //补齐十位数;
    function timeAdd0(str) {
        if (str.length <= 1) {
            str = '0' + str;
        }
        return str
    }


调用

console.log(getDate("-30"));


Done!

相关文章
|
2月前
|
JavaScript 前端开发
JavaScript Date(日期) 对象
JavaScript Date(日期) 对象
42 2
|
2月前
|
JavaScript 前端开发
JS浮点数精度问题及高精度小数运算:BigNumber解决方案
JS浮点数精度问题及高精度小数运算:BigNumber解决方案
150 0
|
2月前
|
小程序 JavaScript 前端开发
uni-app开发微信小程序:四大解决方案,轻松应对主包与vendor.js过大打包难题
uni-app开发微信小程序:四大解决方案,轻松应对主包与vendor.js过大打包难题
672 1
|
22天前
|
JavaScript 前端开发
|
21天前
|
前端开发 JavaScript 开发者
除了 Generator 函数,还有哪些 JavaScript 异步编程解决方案?
【10月更文挑战第30天】开发者可以根据具体的项目情况选择合适的方式来处理异步操作,以实现高效、可读和易于维护的代码。
|
22天前
|
JavaScript 前端开发 搜索推荐
Moment.js、Day.js、Miment,日期时间库怎么选?
【10月更文挑战第29天】如果你需要一个功能强大、插件丰富的日期时间库,并且对性能要求不是特别苛刻,Moment.js是一个不错的选择;如果你追求极致的轻量级和高性能,那么Day.js可能更适合你;而如果你有一些特定的日期时间处理需求,并且希望在性能和功能之间取得平衡,Miment也是可以考虑的。
|
2月前
|
前端开发 JavaScript 开发者
JS 异步解决方案的发展历程以及优缺点
本文介绍了JS异步解决方案的发展历程,从回调函数到Promise,再到Async/Await,每种方案的优缺点及应用场景,帮助开发者更好地理解和选择合适的异步处理方式。
|
2月前
|
缓存 JavaScript 前端开发
探索Vue.js中的计算属性与侦听器
【10月更文挑战第5天】探索Vue.js中的计算属性与侦听器
23 1
|
3月前
|
JavaScript 前端开发
|
2月前
|
缓存 JavaScript 前端开发
深入理解Vue.js中的计算属性与侦听属性
【10月更文挑战第5天】深入理解Vue.js中的计算属性与侦听属性
26 0