时间处理

时间处理

1.将 时间 转为指定格式的字符串

时间格式化函数,此处仅针对yyyy-MM-dd hh:mm:ss 的格式进行格式化

dateFormat:function(time) {
    //将日期转换为时间戳
    var date=new Date(time);
    var year=date.getFullYear();
    /* 在日期格式中,月份是从0开始的,因此要加0
     * 使用三元表达式在小于10的前面加0,以达到格式统一  如 09:11:05
     * */
    var month= date.getMonth()+1<10 ? "0"+(date.getMonth()+1) : date.getMonth()+1;
    var day=date.getDate()<10 ? "0"+date.getDate() : date.getDate();
    var hours=date.getHours()<10 ? "0"+date.getHours() : date.getHours();
    var minutes=date.getMinutes()<10 ? "0"+date.getMinutes() : date.getMinutes();
    var seconds=date.getSeconds()<10 ? "0"+date.getSeconds() : date.getSeconds();
    // 拼接
    return year+"-"+month+"-"+day+" "+hours+":"+minutes+":"+seconds;
}
2.将字符串转成时间
stringToDate : function(fDate){
    var fullDate = (fDate + "").split("-");
    return new Date(fullDate[0], fullDate[1]-1, fullDate[2], 0, 0, 0);
},
3.计算时间差

格式: 2019/08/08 00:00:00

如果是 2019-08-08 00:00:00 使用 time.replace(/-/g,’/’) 用replace转成正确格式

function timeFn(d1) {//di作为一个变量传进来
    //如果时间格式是正确的,那下面这一步转化时间格式就可以不用了
    var dateBegin = new Date(d1.replace(/-/g, "/"));//将-转化为/,使用new Date
    var dateEnd = new Date();//获取当前时间
    var dateDiff = dateEnd.getTime() - dateBegin.getTime();//时间差的毫秒数
    var dayDiff = Math.floor(dateDiff / (24 * 3600 * 1000));//计算出相差天数
    var leave1=dateDiff%(24*3600*1000)    //计算天数后剩余的毫秒数
    var hours=Math.floor(leave1/(3600*1000))//计算出小时数
    //计算相差分钟数
    var leave2=leave1%(3600*1000)    //计算小时数后剩余的毫秒数
    var minutes=Math.floor(leave2/(60*1000))//计算相差分钟数
    //计算相差秒数
    var leave3=leave2%(60*1000)      //计算分钟数后剩余的毫秒数
    var seconds=Math.round(leave3/1000)
    console.log(" 相差 "+dayDiff+"天 "+hours+"小时 "+minutes+" 分钟"+seconds+" 秒")
    console.log(dateDiff+"时间差的毫秒数",dayDiff+"计算出相差天数",leave1+"计算天数后剩余的毫秒数"
        ,hours+"计算出小时数",minutes+"计算相差分钟数",seconds+"计算相差秒数");
}
var t3="2017-08-18 04:56:38";
timeFn(t3);

格式: 12:00 (24小时制)

使用moment插件

const time1 = '12:00'
const time2 = '1:00'
//时间差
const timer = ''
//是否跨天  0跨天,1不跨天
const nextDay = '0'
const startTime = moment(time1,'HH:mm')
const endTime = moment(time2,'HH:mm')

//24点
const ruleDate1 = moment('24:00','HH:mm')
//00点
const ruleDate2 = moment('00:00','HH:mm')
if(nextDay == '0'){
    //
    timer = ruleDate1.diff(startTime,'minute') + endTime.diff(ruleDate2,'minute')
}else{
    timer = endTime.diff(startTime,'minute')
}

//moment('24:00','HH:mm')  将时间转成对应格式
//endTime.diff(startTime,'minute')   计算endTime-startTime的差(单位是分钟)

注意点:moment默认会打包所有的语言

//解决moment打包的时候把所有的语言都打包进去的问题
plugin:[
new webpack.ContextReplacementPlugin(
    /moment[\\\/]locale$/,
    /^\.\/(zh-cn)$/
),
...
]
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值