一、Date對象
在JavaScript中,可以通過使用Date對象來獲取當前的日期和時間。Date對象包含了很多內置方法,比如getFullYear()、getMonth()、getDate(),它們分別用於獲取當前日期的年、月、日。這裡我們可以先使用Date對象獲取當前日期,然後對日期進行計算,來得到30天前的日期:
const today = new Date(); // 獲取當前日期 const thirtyDaysAgo = new Date(today.getFullYear(), today.getMonth(), today.getDate() - 30); // 獲取30天前的日期
在上面的代碼中,我們通過new Date()方法獲取了當前的日期,然後用這個日期初始化了一個新的Date對象。接着,我們用today對象中的年、月、日(使用getDate()方法)來計算出了30天前的日期,並初始化了一個新的Date對象thirtyDaysAgo。
二、getTime()方法
另一種獲取30天前日期的方法是使用getTime()方法。這個方法返回的是一個數值,代表從1970年1月1日00:00:00 UTC到當前日期的毫秒數。通過對這個數值進行加減運算,我們可以得到任意日期的毫秒數,然後再用這個毫秒數初始化一個新的Date對象。
const today = new Date(); const thirtyDaysAgo = new Date(today.getTime() - 30 * 24 * 60 * 60 * 1000);
在上面的代碼中,我們使用today.getTime()獲取了當前日期的毫秒數,然後用這個數值減去30天的毫秒數,來得到30天前的日期的毫秒數。最後,我們把這個毫秒數轉換成日期,初始化了一個新的Date對象thirtyDaysAgo。
三、toLocaleDateString()方法
如果只需要獲取日期的字符串,可以使用toLocaleDateString()方法。這個方法會把日期對象轉換成指定區域和語言格式的字符串。默認情況下,它返回的字符串包含日期和時間,但是我們可以通過傳遞一個選項對象來指定只返回日期部分:
const today = new Date(); const thirtyDaysAgo = new Date(today.getTime() - 30 * 24 * 60 * 60 * 1000); const options = { year: 'numeric', month: '2-digit', day: '2-digit' }; const dateString = thirtyDaysAgo.toLocaleDateString('zh-CN', options); console.log(dateString); // "2021/08/15"
在上面的代碼中,我們傳遞了一個選項對象到toLocaleDateString()方法中,這個對象的屬性包含了我們想要的日期格式。然後,我們把選項對象和區域設置(’zh-CN’)一起傳遞給方法,來生成一個只包含日期的字符串。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/179970.html