JS 时间格式化
// 有其他格式化字符需求可以继续添加,必须转化成字符串 如:YYYY-mm-dd HH:MM表示2019-06-06 19:45
// 参数可传入 毫秒 或者其他日期
dateFormat(fmt, date1) {
let date = new Date(date1)
let ret;
const opt = {
"Y+": date.getFullYear().toString(), // 年
"m+": (date.getMonth() + 1).toString(), // 月
"d+": date.getDate().toString(), // 日
"H+": date.getHours().toString(), // 时
"M+": date.getMinutes().toString(), // 分
"S+": date.getSeconds().toString(), // 秒
};
for (let k in opt) {
ret = new RegExp("(" + k + ")").exec(fmt);
if (ret) {
fmt = fmt.replace(
ret[1],
ret[1].length == 1
? opt[k]
: opt[k].padStart(ret[1].length, "0")
);
}
}
return fmt;
}
// 调用 this.dateFormat('YYYY-mm-dd',new Date())
//格式化日期转换 秒 00:00:00 → 10s
ToSeconds(time){
var str = time;
var arr = str.split(':');
var hs = parseInt(arr[0]*3600);
var ms = parseInt(arr[1]*60);
var ss = parseInt(arr[2]);
var seconds = hs + ms + ss;
return seconds;
}
//日期倒计时
function coutDownForDate(){
var startTime = new Date().getTime() ; /l开始时间
var endTime = new Date("2016/12/31,23:59:59");//结束时间
var diffTime = parseInt((endTime-startTime)/1000,10);//得到两个时间差的秒数
//根据秒数来计算天、时、分、秒
var day = parseInt(diffTime/ (24*60*60),10);//1天=24小时1小时=60分1分=60秒
//1小时=60分1分=60秒,diffTime/ ( 60*60 )=所有的秒数用小时来表示有多少个小时
//再%24,整除部分(商)作为整天算到天的计时了,余数部分也就是小时的计时了
//再取个整,被抹去的小时数会自动算到分里面,分中被抹去的会计算到秒中
var hour = parseInt((diffTime/(60*60))%24,10) ;//小时
var minute = parseInt((diffTime/60)%60,10);//分钟︰先计算成总共有多少分钟,再取分钟的余数
var second = diffTime%60;//秒︰本来就是秒,直接获取最后剩下的秒就好了
var timeout=null;
if(diffTime>0 ) {//l有差值才显示,否则不显示
document.getElementById("show3 ").innerHTML="距离过年还有:"+day+"天"+hour+"小
时"+minute+"分"+second+"秒";
//自动刷新
timeout = setTimeout ( ()=>{this.coutDownForDate() },500 ) ;
}else{
document.getElementById( "show3 " ).innerHTML="去年已结束,新年已来临";
clearTimeout(timeout ) ;
}
}