js时间戳解决日期,年份月份跳转判断问题

js时间戳解决日期问题

Introduce

产品给了个需求,做一个活动落地页。活动时间是从7.25-7.31。看到的第一眼,嘿,小事 ,简单,每次在页面都显示昨天的获奖信息, 点击更多按钮,显示前一天。直到25号为止

    var date = new Date();
    console.log(date.getFullYear());
    console.log(date.getMonth())
    console.log(date.getDate())

idea

每次取得当前日期,判断是不是25,不是的话就显示前一天,设置一个变量。点击更多就减一,然后用date.getdate()的结果减去变量。,用这个向接口申请。

Question

好的,上面解决了所有的需求,我高高兴兴,开开心心跑到楼上健身房开始跑步。 直到上线的前一天。产品突然找到我,活动改了。 日期改成7.26到8.3.突然傻眼。 这个就要每次判断日期, 看是不是八月。不光修改日期还要修改月份。 就很麻烦。【一定能做】 我emmm,就突然想到了时间戳。 以前看过。从来没用过。。。。。

顺便说一下时间戳的属性把

Details

  1. 获取时间戳

    • var timestamp = Date.parse(new Date()); 【精确到秒】
    • var timestamp = (new Date()).valueOf(); 【精确到毫秒】
    • var timestamp = new Date().getTime(); 【精确到毫秒】
  2. 时间戳转化为日期格式

    //第一种
    function getLocalTime(nS) {     
      return new Date(parseInt(nS) * 1000).toLocaleString().replace(/:\d{1,2}$/,' ');     
    }     
    alert(getLocalTime(1293072805));
    //结果是2018年07月26日 10:53
    //第二种    
    function getLocalTime(nS) {     
       return new Date(parseInt(nS) * 1000).toLocaleString().substr(0,17)
    }     
    alert(getLocalTime(1293072805));
    //第三种  格式为:2018-07-26 10:00:00
       function getLocalTime(nS) {     
          return new Date(parseInt(nS) * 1000).toLocaleString().replace(/年|月/g, "-").replace(/日/g, " ");      
       }     
       alert(getLocalTime(1177824835));
    
  3. 每天的时间间隔是86400000

solution

  1. 所以如果我需要计算的话需要做的就是创建一个全局变量,初始值为0,每次点击更更多就+1;

    daystep = 0;
    var currentday = new Date(Date.parse(new Date()) - parseInt(parseInt(daystep) * 86400000)).getDate();
    daystep--
    
  2. 大概就是这个意思。。。 反正就是解决这个问题了,时间戳可以完美的解决每次月份年份之间的转换,减少了判断条件。起码我觉得。。

Review

写的稀里糊涂的,真的是困。 大学里以为自己很厉害。上班了什么都不会。。难受。 什么问题都要踩一遍坑才知道,就很心疼。后悔自己以前没好好学习

writer&contact

{
  "name":"Jontyy" , 
  "email": " jontyy@163.com"
}1234

gitHub

https://github.com/YJD199798

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值