JS Date() 取得時間年月日的方法

JavaScript 它有提供 Date() 的物件,可以取得操作日期的時間,但它只能由以 Date 作為建構子來產生,所以需要 new 這個物件,如果沒有 new 這個物件,則會代表一個字串,而不會是 Date 物件。

基本語法:new Date();

new Date();  // Fri Jul 17 2020 16:57:17 GMT+0800 (台北標準時間) {}

主要是抓取電腦的時間!有四種取日期得語法:

  • new Date()
  • new Date(year, month, day, hours, minutes, seconds, milliseconds)
  • new Date(milliseconds)
  • new Date(date string)

以下介紹常用的方法:

getDate() 取得某月天數

new Date(2020, 7, 0).getDate(); // 31

意思是 取出 2020 年 7 月,有 31 天。


getTime() 日期取毫秒

new Date().getTime();  // 1594976945939

毫秒為取現在時間的毫秒


毫秒轉換成日期

let millisecond = new Date().getTime();  // 先取毫秒
let nowMillisecond = new Date(millisecond);
let year = nowMillisecond.getFullYear();
let month = nowMillisecond.getMonth() + 1;
let day = nowMillisecond.getDate();
let week = nowMillisecond.getDay();
console.log(nowMillisecond); // Fri Jul 17 2020 17:17:22 GMT+0800 (台北標準時間)
console.log(`year${年}`); // 2020年
console.log(`month${月}`); // 7月
console.log(`day${號}`); // 17
console.log(`${星期}week`); // 星期5

此範例日期是在 2020 年 7 月 17 號 星期五的範例

方法描述
getFullYear()取年份
getMonth()取月份,但會從 0 開始,所以要加 1
getDate()取日期
getDay()取星期幾

計算兩日期相差天數

const Calculation = (day1, day2) => {
  let date1 = new Date(day1);
  let date2 = new Date(day2);
  let day = parseInt(Math.abs(date1 - date2) / 1000 / 60 / 60 / 24);
  return day;
};

console.log(Calculation("2020/7/1", "2020/7/20")); // 19

計算結果為相差 19 天


getTime() 取得時分秒

let time = new Date();
let hours = time.getHours();
let UTCHours = time.getUTCHours();
let minutes = time.getMinutes();
let seconds = time.getSeconds();
let milliseconds = time.getMilliseconds();

console.log(hours);  // 18
console.log(UTCHours); // 10
console.log(minutes); // 9
console.log(seconds); // 50
console.log(milliseconds); // 684

此範例日期是在 2020 年 7 月 17 號 星期五的範例

方法描述
getHours()取得時數 0 ~ 23 台北標準時間 + 8
getUTCHours()取得(國際標準時間)時數 0 ~ 23
getMinutes()取得分鐘 0 ~ 59
getSeconds()取得秒數 0 ~ 59
getMilliseconds()取得毫秒數 0 ~ 999

以上是整理取出時間的方法,希望有幫助到大家 🙂
若要查詢其他方法,可以至 MDN web docs

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *