js获取今天、昨天、明天的日期函数代码

 更新时间:2023年05月13日 08:30:21   作者:辰漪  
这篇文章主要介绍了js获取今天、昨天、明天的日期函数代码,需要的朋友可以参考下

今天发现的一个比较好的函数

/* 
  * @params date 日期
  * @params type 日期 prev/current/next 昨天/今天/明天
  * @params fmt 日期拼接符
*/
function getDays(date, type, fmt) {
    let currentDate = new Date(date)
    let y = currentDate.getFullYear()
    let m = currentDate.getMonth() + 1
    let d = currentDate.getDate()
    function dateFormat(date, fmt) {
        let y = new Date(date).getFullYear()
        let m = new Date(date).getMonth() + 1
        let d = new Date(date).getDate()
        return `${y}${fmt}${m}${fmt}${d}`
    }
    switch (type) {
        case "prev":
            if (d - 1 < 1) {
                if (m - 1 < 1) {
                    y = y - 1
                    m = 12
                } else {
                    m = m - 1
                }
                d = new Date(y, m, 0).getDate()
            } else {
                d = d - 1
            }
            break
        case "current":
            break
        case "next":
            if (d + 1 > new Date(y, m, 0).getDate()) {
                if (m + 1 > 12) {
                    y = y + 1
                    m = 1
                    d = 1
                } else {
                    m = m + 1
                    d = 1
                }
            } else {
                d = d + 1
            }
            break;
    default:
      break;
    }
    return dateFormat(new Date(`${y}-${m}-${d}`), fmt)
}
console.log(getDays(new Date('2023-5-13'), "prev", "-"));
console.log(getDays(new Date('2023-5-30'), "next", "-"));
console.log(getDays(new Date('2023-5-31'), "next", "-"));

再补充一个js 日期 获取今天、昨天、明天的函数

  function getDay(day){
    var today = new Date()
    // 获取时间戳(毫秒级)
    /*
      day为1,则是,明天的时间戳
      day为-1,则是,昨天的时间戳
      day为-2,则是,前天的时间戳
    */
    var targetday_milliseconds = today.getTime() + 1000 * 60 * 60 * 24 * day
    // Date.setTime(时间戳):设置当前日期的时间
    today.setTime(targetday_milliseconds)
    console.log('today=', today) // today= Sun Mar 05 2023 16:14:56 GMT+0800 (中国标准时间)
    var tYear = today.getFullYear() // 年
    var tMonth = today.getMonth() // 月
    var tDate = today.getDate() // 日
    tMonth = this.doHandleMonth(tMonth + 1)
    tDate = this.doHandleMonth(tDate)
    console.log('返回年月日=', tYear + '-' + tMonth + '-' + tDate)
    return tYear + '-' + tMonth + '-' + tDate
  }
  function doHandleMonth(month) {
    var m = month
    if (month.toString().length == 1) {
      m = '0' + month
    }
    return m
  }

到此这篇关于js获取今天、昨天、明天的日期函数代码的文章就介绍到这了,更多相关js获取明天的日期内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • js实现的早期滑动门菜单效果代码

    js实现的早期滑动门菜单效果代码

    这篇文章主要介绍了js实现的早期滑动门菜单效果代码,涉及javascript数组遍历及通过鼠标事件动态改变页面元素属性的技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-08-08
  • 基于JS+Canvas的lucky-canvas 抽奖功能

    基于JS+Canvas的lucky-canvas 抽奖功能

    一个基于 Js + Canvas 的大转盘和九宫格和老虎机抽奖,使用lucky-canvas 功能可以自由配置,多端适配的特点,本文通过实例代码给大家详细介绍抽奖方法,感兴趣的朋友一起看看吧
    2022-06-06
  • 如何利用js实时监听input输入框值的变化

    如何利用js实时监听input输入框值的变化

    在做web开发时候很多时候都需要即时监听输入框值的变化,以便作出即时动作去引导浏览者增强网站的用户体验感,这篇文章主要给大家介绍了关于如何利用js实时监听input输入框值的变化,需要的朋友可以参考下
    2024-02-02
  • JS实现将二维数组转为json格式字符串操作示例

    JS实现将二维数组转为json格式字符串操作示例

    这篇文章主要介绍了JS实现将二维数组转为json格式字符串操作,涉及javascript数组遍历、拼接、转换等相关操作技巧,需要的朋友可以参考下
    2018-07-07
  • 微信小程序实现滚动消息通知

    微信小程序实现滚动消息通知

    这篇文章主要为大家详细介绍了微信小程序实现滚动消息通知,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-02-02
  • JavaScript学习笔记之数组的增、删、改、查

    JavaScript学习笔记之数组的增、删、改、查

    这篇文章主要介绍了JavaScript学习笔记之数组的增、删、改、查的相关资料,需要的朋友可以参考下
    2016-03-03
  • js获取当前时间显示在页面上并每秒刷新

    js获取当前时间显示在页面上并每秒刷新

    这篇文章主要介绍了js获取当前时间显示在页面上并每秒刷新,需要的朋友可以参考下
    2014-12-12
  • 微信小程序:数据存储、传值、取值详解

    微信小程序:数据存储、传值、取值详解

    这篇文章主要介绍了微信小程序:数据存储、传值、取值,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-05-05
  • JS常用时间操作moment.js的使用方法

    JS常用时间操作moment.js的使用方法

    Moment.js是一个轻量级的JavaScript时间库,通常会对时间进行下面这几个操作:比如获取时间,设置时间,格式化时间,比较时间等等,本文就来介绍一下如何使用,感兴趣的可以了解下
    2023-09-09
  • 老生常谈js动态添加事件--- 事件委托

    老生常谈js动态添加事件--- 事件委托

    下面小编就为大家带来一篇老生常谈js动态添加事件--- 事件委托。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-07-07

最新评论