javascript中一些奇葩的日期換算方法總結(jié)
前言
本文給大家總結(jié)了一些關(guān)于javascript奇葩的日期換算方法,分享出來供大家參考學(xué)習(xí),下面話不多說了,來一起看看詳細(xì)的介紹吧
日期換算
1.獲取今天的0時(shí)0分0秒(常用于開始日期的獲取)
new Date(new Date().toLocaleDateString()); // Mon Nov 12 2018 00:00:00 GMT+0800 (中國標(biāo)準(zhǔn)時(shí)間)
2.獲取一個(gè)月前的日期
new Date(new Date().setMonth(new Date().getMonth()-1)); //Fri Oct 12 2018 17:20:07 GMT+0800 (中國標(biāo)準(zhǔn)時(shí)間)
3.獲取一個(gè)月前的0時(shí)0分0秒
new Date(new Date(new Date().toLocaleDateString()).setMonth(new Date().getMonth()-1)); //Fri Oct 12 2018 00:00:00 GMT+0800 (中國標(biāo)準(zhǔn)時(shí)間)
4.獲取前一天的日期
new Date(new Date().setDate(new Date().getDate()-1)); // Sun Nov 11 2018 17:21:56 GMT+0800 (中國標(biāo)準(zhǔn)時(shí)間)
5. 加一天
var dateTime=new Date(); dateTime=dateTime.setDate(dateTime.getDate()+1); dateTime=new Date(dateTime); // Tue Nov 13 2018 17:24:32 GMT+0800 (中國標(biāo)準(zhǔn)時(shí)間)
6. 減一天
var dateTime=new Date(); dateTime=dateTime.setDate(dateTime.getDate()-1); dateTime=new Date(dateTime); // Sun Nov 11 2018 17:25:12 GMT+0800 (中國標(biāo)準(zhǔn)時(shí)間)
7.獲取今天的23時(shí)59分59秒
new Date(new Date(new Date().toLocaleDateString()).getTime()+24*60*60*1000-1); // Mon Nov 12 2018 23:59:59 GMT+0800 (中國標(biāo)準(zhǔn)時(shí)間)
7.獲取昨天的23時(shí)59分59秒
var dateTime = new Date() dateTime = dateTime.setDate(dateTime.getDate() -1 ) dateTime = new Date(new Date(new Date(dateTime).toLocaleDateString()).getTime() + 24 * 60 * 60 * 1000 - 1) // Sun Nov 11 2018 23:59:59 GMT+0800 (中國標(biāo)準(zhǔn)時(shí)間)
8.獲取明天的23時(shí)59分59秒
var dateTime = new Date() dateTime = dateTime.setDate(dateTime.getDate() + 1 ) dateTime = new Date(new Date(new Date(dateTime).toLocaleDateString()).getTime() + 24 * 60 * 60 * 1000 - 1) // Tue Nov 13 2018 23:59:59 GMT+0800 (中國標(biāo)準(zhǔn)時(shí)間)
8.獲取當(dāng)前時(shí)間的明天的23時(shí)59分59秒
var curTime = 'Wed Nov 14 2018 17:38:31 GMT+0800 (中國標(biāo)準(zhǔn)時(shí)間)'; var dateTime = new Date(curTime) dateTime = dateTime.setDate(dateTime.getDate() + 1 ) dateTime = new Date(new Date(new Date(dateTime).toLocaleDateString()).getTime() + 24 * 60 * 60 * 1000 - 1) // Thu Nov 15 2018 23:59:59 GMT+0800 (中國標(biāo)準(zhǔn)時(shí)間)
9.獲取當(dāng)前時(shí)間的昨天的23時(shí)59分59秒
var curTime = 'Wed Nov 14 2018 17:38:31 GMT+0800 (中國標(biāo)準(zhǔn)時(shí)間)'; var dateTime = new Date(curTime) dateTime = dateTime.setDate(dateTime.getDate() - 1 ) dateTime = new Date(new Date(new Date(dateTime).toLocaleDateString()).getTime() + 24 * 60 * 60 * 1000 - 1) // Tue Nov 13 2018 23:59:59 GMT+0800 (中國標(biāo)準(zhǔn)時(shí)間)
10.距離活動(dòng)截止還差幾小時(shí)幾分幾秒(倒計(jì)時(shí))
var endTime = function (startTime) {
setInterval(
function(){
var str = '';
var date1 = new Date(startTime); //開始時(shí)間
var date2 = new Date(); //結(jié)束時(shí)間
var date3 = date1.getTime() - date2.getTime(); //時(shí)間差的毫秒數(shù)
if (date3>0){
// //計(jì)算相差的年數(shù)
// var years = Math.floor(date3 / (12 * 30 * 24 * 3600 * 1000));
// //計(jì)算相差的月數(shù)
var leave = date3 % (12 * 30 * 24 * 3600 * 1000);
// var months = Math.floor(leave / (30 * 24 * 3600 * 1000));
// //計(jì)算出相差天數(shù)
var leave0 = leave % (30 * 24 * 3600 * 1000);
var days = Math.floor(date3 / (24 * 3600 * 1000));
//計(jì)算出小時(shí)數(shù)
var leave1 = leave0 % (24 * 3600 * 1000); //計(jì)算天數(shù)后剩余的毫秒數(shù)
var hours = Math.floor(leave1 / (3600 * 1000));
//計(jì)算相差分鐘數(shù)
var leave2 = leave1 % (3600 * 1000); //計(jì)算小時(shí)數(shù)后剩余的毫秒數(shù)
var minutes = Math.floor(leave2 / (60 * 1000));
//計(jì)算相差秒數(shù)
var leave3 = leave2 % (60 * 1000); //計(jì)算分鐘數(shù)后剩余的毫秒數(shù)
var seconds = Math.round(leave3 / 1000);
if (days > 0){
str += '<span>'+ days +'</span>天';
}
if (hours > 0){
str += '<span>'+ hours +'</span>小時(shí)';
}
str += '<span>'+ minutes +'</span>分鐘<span>'+ seconds +'</span>秒';
}else {
str = '已過期'
}
console.log(str)
},1000
);
};
總結(jié)
以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,如果有疑問大家可以留言交流,謝謝大家對腳本之家的支持。
相關(guān)文章
Javascript數(shù)組的?splice?方法詳細(xì)介紹
這篇文章主要介紹了Javascript數(shù)組的splice方法詳細(xì)介紹,splice方法通過刪除或替換現(xiàn)有元素或者原地添加新的元素來修改數(shù)組,并以數(shù)組形式返回被修改的內(nèi)容。此方法會(huì)改變原數(shù)組2022-09-09
將HTMLCollection/NodeList/偽數(shù)組轉(zhuǎn)換成數(shù)組的實(shí)現(xiàn)方法
將HTMLCollection/NodeList/偽數(shù)組轉(zhuǎn)換成數(shù)組的實(shí)現(xiàn)方法,需要的朋友可以參考下。2011-06-06
JavaScript EventEmitter 背后的秘密 完整版
在這里,我們的目標(biāo)創(chuàng)建屬于我們自己的 Event Emitter 去理解背后的秘密。所以,讓我們看一下下面的代碼是怎么工作的,需要的朋友可以參考下2018-03-03
使用SyntaxHighlighter實(shí)現(xiàn)HTML高亮顯示代碼的方法
syntaxhighlighter是一個(gè)小開源項(xiàng)目,它可以在網(wǎng)頁中對各種程序源代碼語法進(jìn)行加亮顯示。2010-02-02
JavaScript常規(guī)加密技術(shù)實(shí)現(xiàn)方式詳解
這篇文章主要為大家介紹了JavaScript常規(guī)加密技術(shù)實(shí)現(xiàn)方式詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-04-04
JS對象序列化成json數(shù)據(jù)和json數(shù)據(jù)轉(zhuǎn)化為JS對象的代碼
這篇文章主要介紹了JS對象序列化成json數(shù)據(jù)和json數(shù)據(jù)轉(zhuǎn)化為JS對象的代碼,需要的朋友可以參考下2017-08-08

