1. 程式人生 > >10_時間戳timeStamp 和 時間 time 轉換, 根據時間節點倒計時

10_時間戳timeStamp 和 時間 time 轉換, 根據時間節點倒計時

1: 時間戳 timeStamp 獲取的幾種方法及其優劣, 第一種只能精確到秒, 故不推薦使用, 最最常用的也是最官方的是第三種, 通過原型方法進行呼叫獲取精確到毫秒數 : 

var timestamp1 = Date.parse(new Date()); // 結果:1477808630000, 不推薦這種辦法,毫秒級別的數值被轉化為000
var timestamp2 = (new Date()).valueOf(); // 結果:1477808630404, 通過valueOf()函式返回指定物件的原始值獲得準確的時間戳值
var timestamp3 = new Date().getTime();   // 結果:1477808630404,通過原型方法直接獲得當前時間的毫秒值,準確
var timetamp4 = Number(new Date()) ;     // 結果:1477808630404, 將時間轉化為一個number型別的數值,即時間戳

2: 獲取非當前時間的時間戳 (如: 2050年11月11日):

var timestamp_now = new Date().getTime();                // 獲取到當前精確時間戳毫秒數
var timestamp_2050 = new Date('2050/11/11 00:00:00').getTime();   // 結果:2551708800000, 獲取2050年11月11日時間戳, 精確到毫秒

3: 利用時間戳相減得到倒計時總毫秒數: 

// 算出中間差並且已毫秒數返回; 除以1000將毫秒數轉化成秒數方便運算;
var countDown = (timestamp_2050 - timestamp_now)/1000; // 獲取天數 1天 = 24小時 1小時= 60分 1分 = 60秒 var oDay = parseInt(countDown/(24*60*60)); // 獲取小時數 // 特別留意 %24 這是因為需要剔除掉整的天數; var oHours = parseInt(countDown/(60*60)%24);
// 獲取分鐘數 //同理剔除掉分鐘數 var oMinutes = parseInt(countDown/60%60); // 獲取秒數 // 因為就是秒數 所以取得餘數即可 var oSeconds = parseInt(countDown%60); // 下面就是插入到頁面事先準備容器即可; var html = "<span>" + p(oDay) + "天</span>"+ "<span>" + p(oHours) + "時</span>" + "<span>" + p(oMinutes) + "分</span>" +"<span>" + p(oSeconds) + "秒</span>"; document.write(html); //別忘記當時間為0的,要讓其知道結束了; if(countDown < 0){ document.write('2050年11月11日, 你脫單了嗎? 祝你光棍節快樂!');
}

4: new Date()物件的常見用法, 可以通過new Date() 例項物件上的方法進行獲取 年份 月份(月份數從0開始代表1月 11結束代表12月) 日期 小時 分鐘 秒 以及相應的 星期幾(0開始為星期日) : 

// Date() 物件, 獲取年月日時分秒, 星期幾
// 獲取時間物件     => date_tody                 => Mon May 20 2019 12:05:27 GMT+0800 (中國標準時間)
// 獲取年        => date_tody.getFullYear()
// 獲取月        => date_tody.getMonth()        => 需要 +1 才是真正月份
// 獲取日        => date_tody.getDate()
// 獲取時        => date_tody.getHours()
// 獲取分        => date_tody.getMinutes()
// 獲取秒        => date_tody.getSeconds()
// 獲取星期幾     => date_tody.getDay()          => 0(星期日) 1(星期一) 2(星期二) 3(星期三) 4(星期四) 5(星期五) 6(星期六)

喜歡的話記得點個贊, 何少在此謝