JavaScript中的日期(Date)對象是非常重要的對象,在我們日常的開發中,常常需要用到它來記錄一些事件或者時間點,比如系統的創建時間、用戶的注冊時間等等。所以,我們需要對日期操作非常熟練。
JavaScript中創建日期對象的方式非常簡單,我們可以直接使用構造函數來創建。
var date = new Date();//獲取當前時間
console.log(date); //例如:Tue Aug 14 2018 15:24:10 GMT+0800 (CST)
getDate()方法可以獲取Date對象中某個月中的日期,例如:
var date = new Date();
var dayOfMonth = date.getDate();
console.log(dayOfMonth);//返回今天是幾號,例如:14
getDay()方法可以獲取星期幾。
var dayOfWeek = date.getDay();
console.log(dayOfWeek);//返回星期幾,例如:2,表示星期二
getMonth()方法可以獲取月份,需要注意的是,1月表示0,2月表示1,以此類推。
var month = date.getMonth();
console.log(month);//返回月份,例如:7,表示8月
getFullYear()獲取當前年份,getHours()獲取小時,getMinutes()獲取分鐘等等類似。同時,還有一些比較常用的方法:
getTime()方法獲取Date對象自1970年1月1日00:00:00 UTC(世界標準時間)以來的毫秒數。
var millis = date.getTime();
console.log(millis);//返回時間戳,例如:1534229825000
getTimezoneOffset()方法獲取當前系統時區與UTC相差的小時數。
var timeZoneOffset = date.getTimezoneOffset();
console.log(timeZoneOffset);//返回我們當前所在時區與UTC相差的分鐘數,例如:-480
除了獲取時間之外,我們還可以執行時間的加減運算,非常方便。
setTime()方法,將一個Date對象設置為特定的時間。
var date = new Date();
date.setTime(1541895566342);
console.log(date);//將時間設置為2018年11月11日14:59:26
setFullYear()方法,將Date對象的完整年份設置為特定年份。
var date = new Date();
date.setFullYear(2013);
console.log(date);//時間變為2013年8月14日15:37:13
setMonth()方法,將月份設置為特定月份,同樣需要注意,0表示1月,1表示2月。
var date = new Date();
date.setMonth(11);
console.log(date);//時間變為2013年12月14日15:40:13
setDate()方法,將某個月中的特定日期設置為一個給定的值。
var date = new Date();
date.setDate(25);
console.log(date);//時間變為2018年8月25日15:44:57
setHours()方法,將時間的小時設置為特定小時。
var date = new Date();
date.setHours(11);
console.log(date);//時間變為2018年8月14日11:55:12
setMinutes()方法,將時間的分鐘設置為特定分鐘。
var date = new Date();
date.setMinutes(30);
console.log(date);//時間變為2018年8月14日16:30:41
到這里,我們就了解了JavaScript中Date對象的基本用法。
當然,在實際應用中,我們可能會遇到一些比較復雜的日期計算問題,比如計算兩個日期之間相差的天數,或者前后兩個日期相差多少個月、多少年等等,這時候我們可以使用一些第三方庫來處理這些問題,這里推薦一個非常優秀的庫——moment.js。
moment.js是一個輕量級的JavaScript庫,旨在將日期和時間處理變得簡單。它可以解決一些傳統JavaScript的時間格式轉換、顯示等問題,同時也可以方便地計算時間,樓一些麻煩的問題。
最后,值得注意的是,在JavaScript中,日期處理還是比較復雜的,我們需要花費一些時間和精力來學習和實踐,掌握一些常用的技巧和方法,才能夠更好地處理日期和時間相關的業務邏輯。