javascript之input获取的时间减1秒&&t时间恢复

将输入得到的时间减少1秒:20:00:00  ———  19:59:59 
  方法一:普通时间转换
endDateMap(date){
    var h = new Date(date).getHours()
     var m  = new Date(date).getMinutes()-1
     if(m == -1){
         if(h == 0){
              h = 23
          }else{
              h = h <10 ? '0'+String(h-1):h-1
          }
          m = 59
     }else{
          h = h <10 ? '0'+String(h):h
     }
     m = m <10 ? ('0'+String(m)):m
     return(h+':'+m + ':59')
}

  方法二:通过时间戳转换
endDateMap(date){
var t = new Date(date)
var t_s = t.getTime();//转化为时间戳毫秒数
var nt = new Date(date);//定义一个新时间
nt.setTime(t_s - 1000);//设置新时间比旧时间少一秒
nt = new Date(nt)
return(
nt.getHours() + ':' + nt.getMinutes()+ ':' +nt.getSeconds()
)
}

 

 
将获取的时间增加1秒:19:59:59  ——  20:00:00 
  方法一:普通时间转换
endDateFilter(val){
    var time = '2017-06-17'+' '+val+':00'
    var h = new Date(time).getHours()
    var m = new Date(time).getMinutes()+1
    if(m == 60){
        if(h == 23){
              h = '00'
         }else{
              h = h <10 ? '0'+String(h+1):h+1
         }
         m = 0
    }else{
          h = h <10 ? '0'+String(h):h
    }
    m = m <10 ? '0'+String(m):m
    var date = '2017-06-17'+' '+h+':'+m+':00'
    var t = Date.parse(date);
    if (!isNaN(t)) {
        return new Date(Date.parse(date.replace(/-/g, "/")));
    } else {
        return new Date();
    }
}

   方法二:通过时间戳转换

endDateMap(date){
    var t = new Date(date)
    var t_s = t.getTime();//转化为时间戳毫秒数
    var nt = new Date(date);//定义一个新时间
    nt.setTime(t_s + 1000);//设置新时间比旧时间多一秒
    nt = new Date(nt)
    return(
         nt.getHours() + ':' + nt.getMinutes()+ ':' +nt.getSeconds()
    )
}

(感谢大神师兄指出时间戳转换这个思路,我原本没想到用时间戳的......)

转载于:https://www.cnblogs.com/daniller/p/dateChange.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值