距離某一天還剩多少天,JS案例,其實挺簡單的,但我卡在某個地方了,好久才想明白
這里面有個需要將毫秒數轉化為天時分秒的過程,莫名其妙的卡在了這里,我真是太笨了;
function mschange(num) { var num1 = parseInt(num / 1000); var miao = parseInt(num1 % 60);//秒 var minute = parseInt((num1 / 60) % 60);//分 var hour = parseInt((num1 / 60 / 60) % 24);//小時 var day = parseInt(num1 / 60 / 60 / 24);//天 return { 'miao': miao, 'minute': minute, 'hour': hour, 'day': day } }
上面代碼是將毫秒轉化為天時分秒,一不小心卡在了這里,后來才想明白是單位的問題;好了以下是案例的完整代碼
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <title>09距離某個日期還有多少</title> </head> <body> <h1>09距離某個日期還有多少天</h1> <input type="date" id="end"> <input type="button" value="點我" id="btn"> <div id="output"></div> </body> <script> (function () { var btn = document.getElementById('btn'); var end = document.getElementById('end'); var output = document.getElementById('output'); btn.onclick = function () { //需求:end時間 - 今天 = 毫秒數 -> 天數 var endTime = end.value; var _endTime = Date.parse(endTime); var startTime = Date.now();//獲取到今天的紀元時間(到1970-1-1 零點的毫秒數) var res = _endTime - startTime;//毫秒數 // var days = Math.ceil(res / 1000 / 60 / 60 / 24); // console.log(days); //年月日時分秒 var times = mschange(res); console.log(times); output.innerHTML = `還剩:${times.day}天${times.hour}小時${times.minute}分${times.miao}秒`; } function mschange(num) { var num1 = parseInt(num / 1000); var miao = parseInt(num1 % 60);//秒 var minute = parseInt((num1 / 60) % 60);//分 var hour = parseInt((num1 / 60 / 60) % 24);//小時 var day = parseInt(num1 / 60 / 60 / 24);//天 return { 'miao': miao, 'minute': minute, 'hour': hour, 'day': day } } })(); </script> </html>