JS中Date物件的簡單應用

2021-08-21 17:21:06 字數 2827 閱讀 8221

今天是學習js的第二天,老師留的作業中出現了一部分關於日期的計算。如果用普通方法總感覺太麻煩而且容易錯,所以就是date物件來解決。不知道是不是我的錯覺,總感覺js中的date物件功能比較差,比如求日期間隔。在delphi中只需要把2個日期變數相減,並且可以自定義日期的顯示方式。我今天使用,結果卻報錯,如何才能格式化日期呢,只能獲取一遍年,再獲取月,獲取日,然後自己拼接,多麻煩啊。不像delphi裡的formatdatetime

var currdate=new date();//今天的日期

console.log(todatestring(currdate));

//報錯了

我省略了html部分,需要提前放置nput標籤並設定id屬性。

第乙個:輸入年月顯示此月有多少天

var syear,smonth;

syear=parseint(document.getelementbyid("syear").value);

smonth=parseint(document.getelementbyid("smonth").value);

var date = new date(syear, smonth, 0);

//貌似new date出來的月會比你傳入的值大1,但是天傳入0,顯示的則是上個月最後一天

alert('輸入年月的天數為'+date.getdate());

//getdate()獲取那一天的天數(1-31),這就是那個魚的天數

第二個:輸入年月日顯示星期幾

var syear,smonth,sday,str;

syear=parseint(document.getelementbyid("syear").value);

smonth=parseint(document.getelementbyid("smonth").value);

sday=parseint(document.getelementbyid("sday").value);

var date=new date(syear,smonth-1,sday);

//smonth必須減一,估計是外國人的月是從0開始的???

switch(date.getday())

alert('輸入的那一天是:'+str);

第三個:輸入年月日返回該日為當年的多少天

年月日返回該日為當年的多少天其實就是在本年中這一天之前有多少天

這個稍微有點難度,因為要考慮閏年與平年,本來是打算判斷閏年再加一,但是借用第乙個問題的方法可以無需判斷閏平年。

同時,需要乙個迴圈來累加在輸入日期之前的每個月的天數。

var syear,smonth,sday,sumday=0;

syear=parseint(document.getelementbyid("syear").value);

smonth=parseint(document.getelementbyid("smonth").value);

sday=parseint(document.getelementbyid("sday").value);

if(smonth>1)

第四個:時間間隔

懶得多放控制項,所以把截止日期預設為當天。

var syear,smonth,sday,d,sumday=0;

syear=parseint(document.getelementbyid("syear").value);

smonth=parseint(document.getelementbyid("smonth").value);

sday=parseint(document.getelementbyid("sday").value);

var bedate=new date(syear,smonth-1,sday);

var currdate=new date();//當前系統日期

sumday=math.floor(math.abs(date.parse(currdate)-date.parse(bedate))/(1000*60*60*24));

alert(sumday);

第五個:日期有效性驗證

判斷日期有效性的2種方法,第一種是老師教的,通過if else語句,另一種則是借助於date物件。

先說第一種。說白就是:一三五七八十臘,三十一天永不變。四、六、九、十一是31天,還有乙個2月需要判斷閏年。

var year = parseint(document.getelementbyid("textyear").value),;

month = parseint(document.getelementbyid("textmonth").value),;

date = parseint(document.getelementbyid("textdate").value);

//2、判斷

var str="不合法";

if(year>=1900)

}else if(month==4 || month==6 || month==9 || month==11 )

}else if(month==2)

}else}}

} }

第二種,當你將錯誤的年月日組合,然後建立乙個date物件時,這個日期其實不對的,比如你放入1月33日,他會自動轉成2月2日.利用這種特性,我們可以判斷你輸入的日期是否合法。(ps.需先驗證你輸入的是數字型)

function isvailddate(syear,smonth,sday)

return isdate;

}

js中Date物件的構造

我所遇到的情景如下 我通過serve端向瀏覽器的request傳送響應,響應中包含time欄位,由於在服務端使用int64來儲存時間相對節約記憶體和方便,然後再在客戶端進行time t 轉 date.以下記錄解決方案。js中的date物件 date物件的構造方法 new date var now n...

js中Math物件和Date物件

math 是數學函式,但又屬於物件資料型別 typeof math object 它是乙個物件 console.dir math 檢視math的所有函式方法。控制台列印的結果如下 1,math.abs 獲取絕對值 math.abs 12 12 2,math.ceil and math.floor 向...

JS中Date物件的常用方法

一共有十個常用的 下面列舉出來 1.new date 這個也是必須的如果用到時間的話 2.getfullyear 獲取當前年份 3.getmonth 獲取當前的月份 但是月份是從0 11算的 所以獲取到的月份需要 1 4.gethours 獲取當前小時 5.getdate 獲取當前日期 6.getm...