作者最近在公司的项目中又遇到了一个难题,在订单这一块需要查询三个月内的所有订单,作者是今年刚毕业的码农实习生。第一次接触这种东西。刚接到手的时候是一脸懵逼,不知道该如何做,没有一些想法,然后跑去问候了度娘,但是度娘脾气挺大的,没告诉我怎么实现的,却给我提供了一些思路。

思路:既然要获取三个月前的时间,那么获取现在的时间是很有必要的。这里利用了一个 JS Date 对象的一些知识点利用现在的时间算出了三个月前的时间。

具体如何实现作者在下面提供了一些完成的代码。各种注释可谓是一看就会的,所以接下来还是好好的读一读代码就可以理解了。作者个人因为菜,所以各路大神如果还有啥修改意见或者有另外一种解决方案欢迎在下面留言,作者会一一回复,并且会尝试各路大神的想法和思路等等,废话就不扯了,下面贴出源代码。可直接复制粘贴使用,如果有兴趣也可以研究一下,(大神请自动忽略)

getThreeMonths () {// let timeOne = new Date(1575158521000)let timeOne = new Date()let year = timeOne.getFullYear()let month = timeOne.getMonth() + 1let day = timeOne.getDate()let hours = timeOne.getHours()let minutes = timeOne.getMinutes()let seconds = timeOne.getSeconds()console.log(`现在的时间是:${year}-${month}-${day} ${hours}:${minutes}:${seconds}`)// 计算3个月后的月份let ThreeMonths = month - 3// 如果小于 0 说明是去年if (ThreeMonths <= 0) {year = year - 1}// 如果 等于 -2 说明当前月是 1 月份 所以三个月前是去年 10月if (ThreeMonths === -2) {ThreeMonths = 10}// 如果 等于 -1 说明当前月是 2 月份 所以三个月前是去年 11月if (ThreeMonths === -1) {ThreeMonths = 11}// 如果 等于 0 说明当前月是 3 月份 所以三个月前是去年 12月if (ThreeMonths === 0) {ThreeMonths = 12}// 获取当前的时间的日期字符串// **如果天数的值为零,则默认返回当前月份的最后一天let timeTow = new Date(year, ThreeMonths, 0, hours, minutes, seconds)// 获取三个月前的最后一天let ThreeMonthsDay = timeTow.getDate()// 获取三个月前的小时数let ThreeMonthsHour = timeTow.getHours() < 10 ? '0' + timeTow.getHours() : timeTow.getHours()// 获取三个月前的分钟数let ThreeMonthsMinutes = timeTow.getMinutes() < 10 ? '0' + timeTow.getMinutes() : timeTow.getMinutes()// 获取三个月前的秒数let ThreeMonthsSeconds = timeTow.getSeconds() < 10 ? '0' + timeTow.getSeconds() : timeTow.getSeconds()// 判断如果当前月份的天数大于三个月前的天数时,则当前天数等于三个月前的天数if (day > ThreeMonthsDay) {day = ThreeMonthsDay}day = day < 10 ? '0' + day : dayconsole.log(`三个月前的时间是:${year}-${ThreeMonths}-${day} ${ThreeMonthsHour}:${ThreeMonthsMinutes}:${ThreeMonthsSeconds}`)// 格式化时间const THREE_MONTHS_AGO = `${year}/${ThreeMonths}/${day} ${ThreeMonthsHour}:${ThreeMonthsMinutes}:${ThreeMonthsSeconds}`// 生成时间戳const THREE_STAMP = new Date(THREE_MONTHS_AGO).getTime()return THREE_STAMP}

结语:在本文的最后作者也唠嗑两句,作者写的代码绝对没有抄袭或者复制别人的代码,作者写的代码都是经过自己的思考。不断的踩坑踩出来的代码。所以不存在复制别人的博客拿来就用。

原生JS算出三个月前的时间的时间戳相关推荐

  1. oracle查询三个月前的时间

    错误写法 -- 错误写法 select sysdate - interval '3' month from dual; 之前从网上找的,当时也认为没有什么不妥的地方,三个月前的时间不正是当前时间再减去 ...

  2. 超级计算机计算足球比赛,超级计算机算出世界前50足球俱乐部:曼城排名第1,欧冠冠军仅第3...

    原标题:超级计算机算出世界前50足球俱乐部:曼城排名第1,欧冠冠军仅第3 谁是目前全球最好的俱乐部?关于这个问题,很多球迷都有自己的看法.在这个信息时代,数据可以说明很多问题.当然,数据也可以用来评估 ...

  3. 【前端路由原理--原生JS实现方式】--前后端路由的区别、关于单页面应用与多页面应用、什么是CSR、SSR、SSG、ISP

    前言 本来只是想学习 React-Router v6 ,没有想到,带出了这么多东西.前后端路由有什么区别?SPA与MPA的是什么?在了解到前端路之后又发现单页面于应用与多页面应用的不同之处,以及 .n ...

  4. 原生js 弹出框;弹出效果 定时关闭

    关于原生js的弹出框样式 淡出淡入效果; <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> ...

  5. java 根据时区算出这个时区的时间

    必须进行各种时间计算才能将当地时间转换为目的时间.本文将解释如何进行这些计算. 第一步: 事情的第一步是获得当地时间.在JavaScript中,这无疑可以通过初始化一个Data()对象来轻松完成. / ...

  6. js获取一小时前的时间

    先定义方法: Date.prototype.format = function(fmt) {var o = {"M+": this.getMonth() + 1, //月份 &qu ...

  7. 算出当前系统后某个月的日期_Python3.7知其然知其所以然-第十八章 日期函数

    时光不可追,往事不可回.以往创建的数据,如若没有日期做标识,不堪回首.几乎任何一个产品都会用到日期,如登录日期.创建日期.修改日期等.正因如此,编程语言中,几乎都有内置日期函数. 18.1 当前日期 ...

  8. js获取前后三个月的时间戳

    兼容ie8真- //获取三个月后的日期addmulMonth = (dtstr) => {var s = dtstr.split("-");var yy = parseInt ...

  9. java中怎么通过日期算出天数_Java如何通过计算两个日期的时间差来算出天数

    Java如何通过计算两个日期的时间差来算出天数,年月日,天数,时间,退房,时分 Java如何通过计算两个日期的时间差来算出天数 易采站长站,站长之家为您整理了Java如何通过计算两个日期的时间差来算出 ...

最新文章

  1. ie对java的设置字体,css3文字特效和浏览器兼容性
  2. Linux基础——bash基础应用及文件系统基础命令
  3. 【数学和算法】初识卡尔曼滤波器(五)
  4. 数据库设计--数据字典
  5. Android 高效的`InjectView – ButterKnife`
  6. C语言--关于指针两种初始化赋值操作
  7. asp 调用java文件上传_用asp实现文件浏览、上传、下载的程序
  8. 无法通过sak判断卡片类型_如何判断你家门能否更换智能锁?选锁门道你要懂!...
  9. vector中删除元素后,如何有效的释放无效元素的内存
  10. Bootstrap列表组
  11. 2017年10月2日日志
  12. SpringBoot实战教程(2)| 整合knife4j3.0.3
  13. 2020年最新的PHP面试题(附答案)
  14. 计算机数制和运算的一点总结.
  15. 细等线体cass_CASS打开图形出现字体替换怎么解决?
  16. 数据库技术-计算机三级考试介绍
  17. 《东周列国志》第九十回 苏秦合纵相六国 张仪被激往秦邦
  18. 安邦拆分的大家保险已具正常经营能力;新东方面向全球招聘3000余人 | 美通企业日报...
  19. 傅里叶变换中采样频率(fs)的解读
  20. matlab 矩阵中最小的数,计算矩阵中最小的N个数值

热门文章

  1. ceph运维问题记录
  2. Faster-RCNN预测过程详解
  3. 华为ensp网页配置AC+AP无线联网
  4. CloudStack高级网络设置
  5. 卡尔曼滤波MatLab实例一:房间温度
  6. 《红楼梦》后四十回真假辨析——数据挖掘之关联规则挖掘
  7. Java入门准备_JDK安装详解(附图)
  8. 带有显示的8路抢答器课程设计
  9. java实现录音并保存为wav格式的音频文件
  10. preventDefault与stopPropagation的作用