时间处理
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)$/
),
...
]