资讯专栏INFORMATION COLUMN

JS 获取指定日期的后一天

Gu_Yan / 1706人阅读

摘要:背景有时候我们在跑数据时可能会遇到将指定日期变为后一天的日期。思路思路其实很简单,就是获取当前时间戳,计算一天的毫秒数,即可得后一天的时间戳,随后通过获取年月日即可。

背景

有时候我们在跑数据时可能会遇到将指定日期变为后一天的日期。应用场景如下:今天是4月23日17:00,我想获取所有4月22日到23日两天的复联4新增预售票房信息,所以理论上我们应该统计4月22日00:00——4月24日00:00的数据,但是用户有可能下意识的就会选择22、23。
有人也许会说,加个提示不就行了何必这么麻烦?在日期选择里有时候产品会要求当前日期之后的日子不可选(略杠精)那么这种情况下,上述需求就需要咱们处理了,存在即合理hhh。那么如何实现呢?
首先众所周知,在编程时,日期有一个通用的标准就是时间戳(timestamp),时间戳是指格林威治时间1970年01月01日00时00分00秒(北京时间1970年01月01日08时00分00秒)起至现在的总秒数/总毫秒数(但毫秒数更为常见,也更加精确)。

思路

思路其实很简单,就是获取当前时间戳A,计算一天的毫秒数B,即可得后一天的时间戳C=A+B,随后通过C获取年月日即可。

代码

在项目里用TS写的,不用太纠结于变量的类型声明,其他都差不多

      dateFormat(d: Date, str: string, isEndDate: boolean) {
        let mon = d.getMonth() + 1;
        let day = d.getDate();//设置默认的月份和天数
        if (isEndDate) {
            //当输入为结束日期时,执行如下代码
            d.setTime(date.getTime() + 3600 * 24 * 1000);
            day = d.getDate();
            mon = d.getMonth() + 1;
        }
        let monthString = mon.toString();
        if (mon < 10) {
            //当月份小于10时,显示月份的时候在前面加一个0
            monthString = "0" + monthString;
        }
        let dayString = day.toString();
        if (day < 10) {
            //当天数小于10时,显示天数的时候在前面加一个0
            dayString = "0" + dayString;
        }
        //根据传进的str来返回指定的时间格式,str可以为任意格式的字符串
        return [d.getFullYear(), monthString, dayString].join(str);
      }
      this.dateFormat(new Date(), "-", true);
      //当前时间为2019年4月23日,此时输出为2019-4-24

Done,后期会总结一些关于日期相关计算的思路,可能简单的就不写code了。

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/103799.html

相关文章

  • 强大的strtotime函数

    摘要:处理时间的函数功能强大,相信大家都有目共睹,日常中如果涉及到很多时间处理方面的需求,函数的以下用法绝对让你面对时间处理不再发愁非常直观的一些用用法获取相比当前时间前天的时间戳这个取值可以随意改变相比于当前时间戳减去的时间当前日期的前天的 PHP处理时间的函数功能强大,相信大家都有目共睹,日常中如果涉及到很多时间处理方面的需求, strtotime函数的以下用法绝对让你面对时间处理不再发...

    zhaochunqi 评论0 收藏0
  • 时间格式化及操作(moment.js篇)

    摘要:在里面全局使用引入使用中文时间其他地方调用的方法获取当前时间返回当前时间时间对象返回当前时间毫秒数返回结果格式化当前时间格式化时间戳以秒为单位格式化时间戳以毫秒为单位原生对象同对象相互转换转换为对象转换为对象当前时间取值操 # moment.js ## 在vue里面全局使用 main.js // 引入moment import moment from moment import mom...

    Forelax 评论0 收藏0
  • python日期时间处理总结

    摘要:用了一段时间的开发项目,也是第一次用来开发项目,所有有许多相关的知识点需要总结,本文所介绍的的日期时间处理就是最近用到的,希望对各位有所帮助,也同时作为自己的笔记储存。提供了等模块用于处理日期和时间,较为常用的还是模块。 用了一段时间的django开发web项目,也是第一次用python来开发项目,所有有许多相关的知识点需要总结,本文所介绍的python的日期时间处理就是最近用到的,希...

    DoINsiSt 评论0 收藏0
  • 需要知道的JS日期知识,都在这了

    摘要:实际上是格林威治标准时间的同义词默认情况下,中的几乎每个日期方法除了一个都是本地时间。如果你住在格林威治标准时间晚的的地区,你会得到一个日期是月日。需要知道对象日期方法。 为了保证的可读性,本文采用意译而非直译。 想阅读更多优质文章请猛戳GitHub博客,一年百来篇优质文章等着你! JS中的 Date 很奇怪。当我们需要处理日期和时间的时候比较麻烦,经常借助像date-fns和 Mom...

    testbird 评论0 收藏0
  • 带你轻松搞定时间选择控件原理

    摘要:虽然大家都用过这个时间选择控件,但是却很少有人去研究其中原理。最近这边本人利用闲暇时间自己写了一个时间选择控件,借这个时间选择控件向各位同学们阐述这个时间选择控件的原理。 前言   说到这个时间选择控件,网上有很多各式各样的,相信很多同学们也都有用过,所以大家对这个也不陌生。虽然大家都用过这个时间选择控件,但是却很少有人去研究其中原理。最近这边本人利用闲暇时间自己写了一个时间选择控件,...

    tigerZH 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<