js實(shí)現(xiàn)日期顯示的一些操作(實(shí)例講解)
1、js獲取當(dāng)前日期(yyyy-mm-dd)
以下代碼是獲取到的當(dāng)前日期:
var myDate = new Date(); var year = myDate.getFullYear(); //獲取完整的年份(4位,1970-????) var month = myDate.getMonth()+1; //獲取當(dāng)前月份(1-12) var day = myDate.getDate(); //獲取當(dāng)前日(1-31) //獲取完整年月日 var newDay = year + “-” + month + “-” + day;

2、點(diǎn)擊實(shí)現(xiàn)日期的天數(shù)加減(yyyy-mm-dd)
點(diǎn)擊倆個(gè)按鈕分別可以實(shí)現(xiàn)日期的加減,如果本月天數(shù)達(dá)到最多,那么月份將會(huì)自動(dòng)增加或減少
var n = 0;
dayChange(0)
$("#time-add").click(function(){
n++;
dayChange(n);
})
$("#time-less").click(function(){
n--;
dayChange(n);
})
function dayChange(n){
var now = new Date();//今天
var tomo = new Date((now/1000+86400*n)*1000);//明天
var month = tomo.getMonth() + 1;
var strDate = tomo.getDate();
var seperator1 = "-";
if (month >= 1 && month <= 9) {
month = "0" + month;
}
if (strDate >= 0 && strDate <= 9) {
strDate = "0" + strDate;
}
var currentdate = tomo.getFullYear() + seperator1 + month + seperator1 + strDate;
$(".center-day").html(currentdate);
}

3、獲取當(dāng)前本周周一和本周周日的時(shí)間范圍
不管當(dāng)前是周幾,都可以獲取到當(dāng)前所在這一周的起始時(shí)間
var now = new Date();//今天
week(now);
function week(now){
var nowTime = now.getTime() ;
var day = now.getDay();
var oneDayLong = 24*60*60*1000 ;
//獲取本周所在周一
var MondayTime = nowTime - (day-1)*oneDayLong ;
//獲取本周所在周末
var SundayTime = nowTime + (7-day)*oneDayLong ;
//轉(zhuǎn)化日期
var monday = new Date(MondayTime);
var sunday = new Date(SundayTime);
var month = monday.getMonth() + 1;
var strDate = monday.getDate();
var month1 = sunday.getMonth() + 1;
var strDate1 = sunday.getDate();
if (month >= 1 && month <= 9) {
month = "0" + month;
}
if (month1 >= 1 && month1 <= 9) {
month1 = "0" + month1;
}
if (strDate >= 0 && strDate <= 9) {
strDate = "0" + strDate;
}
if (strDate1 >= 0 && strDate1 <= 9) {
strDate1 = "0" + strDate1;
}
currentdate = monday.getFullYear() + seperator1 + month + seperator1 + strDate + "至" + sunday.getFullYear() + seperator1 + month1 + seperator1 + strDate1;
$(".center-day").html(currentdate);
32}

4、點(diǎn)擊實(shí)現(xiàn)每周范圍的變化
點(diǎn)擊改變的按鈕將會(huì)改變顯示一周范圍的改變,如果有的在下一月或者下一年,那么將會(huì)自動(dòng)顯示,不會(huì)出現(xiàn)錯(cuò)誤
var now = new Date();//今天
var n = 0;
week(now);
$("#week-add").click(function(){
n++;
var date = new Date(now.getTime() + n*7*24*3600*1000);
week(date);
})
$("#week-add").click(function(){
n--;
var date = new Date(now.getTime() + n*7*24*3600*1000);
week(date);
})
function week(now){
var nowTime = now.getTime() ;
var day = now.getDay();
var oneDayLong = 24*60*60*1000 ;
//獲取本周所在周一
var MondayTime = nowTime - (day-1)*oneDayLong ;
//獲取本周所在周末
var SundayTime = nowTime + (7-day)*oneDayLong ;
22//轉(zhuǎn)化日期
var monday = new Date(MondayTime);
var sunday = new Date(SundayTime);
var month = monday.getMonth() + 1;
var strDate = monday.getDate();
var month1 = sunday.getMonth() + 1;
var strDate1 = sunday.getDate();
if (month >= 1 && month <= 9) {
month = "0" + month;
}
if (month1 >= 1 && month1 <= 9) {
month1 = "0" + month1;
}
if (strDate >= 0 && strDate <= 9) {
strDate = "0" + strDate;
}
if (strDate1 >= 0 && strDate1 <= 9) {
strDate1 = "0" + strDate1;
}
currentdate = monday.getFullYear() + seperator1 + month + seperator1 + strDate + "至" + sunday.getFullYear() + seperator1 + month1 + seperator1 + strDate1;
$(".center-day").html(currentdate);
}

5、獲取當(dāng)前月份的第一天和最后一天
能夠獲取到當(dāng)前所在月份的第一天和最后一天,最后一天的日期是不固定的,能夠獲取到應(yīng)有的日期
monthfen(0)
function monthfen(n){
var now = new Date();//今天
var firstDate = new Date((now/1000+86400*n*now.getDate())*1000);//明天
//本月第一天
firstDate.setDate(1); //第一天
var date = new Date(firstDate);
var month = date.getMonth() + 1;
var strDate = "0" + date.getDate();
//本月最后一天
var endDate = new Date(firstDate);
endDate.setMonth(firstDate.getMonth()+1);
endDate.setDate(0);
var date1 = new Date(endDate);
var month1 = date1.getMonth() + 1;
var strDate1 = date1.getDate();
if (month >= 1 && month <= 9) {
month = "0" + month;
}
if (month1 >= 1 && month1 <= 9) {
month1 = "0" + month1;
}
currentdate = date.getFullYear() + seperator1 + month + seperator1 + strDate + "至" + date1.getFullYear() + seperator1 + month1 + seperator1 + strDate1;
$(".center-day").html(currentdate);
}

6、點(diǎn)擊實(shí)現(xiàn)當(dāng)前月份的改變
點(diǎn)擊按鈕會(huì)實(shí)現(xiàn)當(dāng)前月份的改變,那么最后一天的日期也會(huì)自動(dòng)改變,
monthfen(0)
var n = 0;
$("#month-add").click(function(){
n++;
monthfen(n);
})
$("#month-less").click(function(){
n--;
monthfen(n);
})
function monthfen(n){
var now = new Date();//今天
var firstDate = new Date((now/1000+86400*n*now.getDate())*1000);//明天
//本月第一天
firstDate.setDate(1); //第一天
var date = new Date(firstDate);
var month = date.getMonth() + 1;
var strDate = "0" + date.getDate();
//本月最后一天
var endDate = new Date(firstDate);
endDate.setMonth(firstDate.getMonth()+1);
endDate.setDate(0);
var date1 = new Date(endDate);
var month1 = date1.getMonth() + 1;
var strDate1 = date1.getDate();
if (month >= 1 && month <= 9) {
month = "0" + month;
}
if (month1 >= 1 && month1 <= 9) {
month1 = "0" + month1;
}
currentdate = date.getFullYear() + seperator1 + month + seperator1 + strDate + "至" + date1.getFullYear() + seperator1 + month1 + seperator1 + strDate1;
$(".center-day").html(currentdate);
}

當(dāng)然還有很多關(guān)于日期格式的改變和算法,如果有什么不理解的可以留下評(píng)論,大家一起探討。
以上這篇js實(shí)現(xiàn)日期顯示的一些操作(實(shí)例講解)就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
原生js實(shí)現(xiàn)仿window10系統(tǒng)日歷效果的實(shí)例
下面小編就為大家?guī)硪黄鷍s實(shí)現(xiàn)仿window10系統(tǒng)日歷效果的實(shí)例。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-10-10
自適應(yīng)高度框架 ----屬個(gè)人收藏內(nèi)容
自適應(yīng)高度框架 ----屬個(gè)人收藏內(nèi)容...2007-01-01
Avalonjs 實(shí)現(xiàn)簡(jiǎn)單購物車功能(實(shí)例代碼)
avalon是國內(nèi)最強(qiáng)大的MVVM框架,最近小編在高購物車的項(xiàng)目,我們是用avalon來實(shí)現(xiàn)一些模塊的,所以順其自然的用avalon來實(shí)現(xiàn)購物車。接下來通過本文給大家分享Avalonjs 實(shí)現(xiàn)簡(jiǎn)單購物車功能的實(shí)例代碼,需要的的朋友參考下2017-02-02
Bootstrap基本組件學(xué)習(xí)筆記之進(jìn)度條(15)
這篇文章主要為大家詳細(xì)介紹了Bootstrap基本組件學(xué)習(xí)筆記之進(jìn)度條,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-12-12
在js里怎么實(shí)現(xiàn)Xcode里的callFuncN方法(詳解)
下面小編就為大家?guī)硪黄趈s里怎么實(shí)現(xiàn)Xcode里的callFuncN方法(詳解)。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2016-11-11
JavaScript中的await函數(shù)使用小結(jié)
async 函數(shù)是 AsyncFunction 構(gòu)造函數(shù)的實(shí)例,并且其中允許使用 await 關(guān)鍵字,async 和 await 關(guān)鍵字讓我們可以用一種更簡(jiǎn)潔的方式寫出基于 Promise 的異步行為,而無需刻意地鏈?zhǔn)秸{(diào)用 promise,這篇文章主要介紹了JavaScript中的await,需要的朋友可以參考下2024-01-01
詳解用Webpack與Babel配置ES6開發(fā)環(huán)境
這篇文章主要介紹了詳解用Webpack與Babel配置ES6開發(fā)環(huán)境,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-03-03

