メインコンテンツへ移動

เนื้อหาภาษาไทย / タイ語のコンテンツ

システムガイド 内容確認済み

การใช้งาน Date Object

การใช้งาน Date Object ใน JavaScript

ใน JavaScript, Date object เป็นเครื่องมือสำคัญสำหรับการจัดการวันที่และเวลา ไม่ว่าจะเป็นการสร้างวันที่ใหม่, การดึงข้อมูลส่วนประกอบของวันที่ (เช่น ปี, เดือน, วัน, ชั่วโมง, นาที, วินาที), หรือการจัดรูปแบบวันที่ให้อยู่ในรูปแบบที่ต้องการ บทความนี้จะพาคุณไปทำความรู้จักกับ Date object และวิธีการใช้งานเบื้องต้น

การสร้าง Date Object

การสร้าง Date object สามารถทำได้หลายวิธี ดังนี้:

  • การสร้าง Date object ด้วยเวลาปัจจุบัน:
  • const now = new Date();
    console.log(now); // แสดงวันที่และเวลาปัจจุบัน
    
  • การสร้าง Date object ด้วยวันที่และเวลาที่ระบุ:
  • const specificDate = new Date('2024-01-15T10:30:00'); // ISO 8601 format
    console.log(specificDate);
    
    const anotherDate = new Date(2024, 0, 15, 10, 30, 0); // ปี, เดือน (เริ่มที่ 0), วัน, ชั่วโมง, นาที, วินาที
    console.log(anotherDate);
    

    ข้อควรจำ: เดือนใน JavaScript เริ่มต้นที่ 0 (มกราคม) ถึง 11 (ธันวาคม)

  • การสร้าง Date object ด้วย timestamp (milliseconds):
  • const timestamp = Date.now(); // จำนวน milliseconds ตั้งแต่ January 1, 1970, 00:00:00 UTC
    console.log(timestamp);
    
    const dateFromTimestamp = new Date(timestamp);
    console.log(dateFromTimestamp);
    

แต่ละวิธีให้ผลลัพธ์ที่แตกต่างกัน ขึ้นอยู่กับความต้องการในการใช้งาน

การ Get และ Set Date Components

เมื่อมี Date object แล้ว เราสามารถดึงข้อมูลส่วนประกอบต่างๆ ของวันที่และเวลาได้ โดยใช้ methods ต่างๆ ดังนี้:

  • Get Methods:
    • getFullYear(): คืนค่าปี (เป็นตัวเลข 4 หลัก)
    • getMonth(): คืนค่าเดือน (0-11)
    • getDate(): คืนค่าวันที่ (1-31)
    • getDay(): คืนค่าวันในสัปดาห์ (0-6, 0 คือวันอาทิตย์)
    • getHours(): คืนค่าชั่วโมง (0-23)
    • getMinutes(): คืนค่านาที (0-59)
    • getSeconds(): คืนค่าวินาที (0-59)
    • getMilliseconds(): คืนค่า milliseconds (0-999)
    • getTime(): คืนค่า timestamp (milliseconds ตั้งแต่ January 1, 1970, 00:00:00 UTC)
  • Set Methods:
    • setFullYear(year): กำหนดปี
    • setMonth(month): กำหนดเดือน (0-11)
    • setDate(day): กำหนดวันที่ (1-31)
    • setHours(hour): กำหนดชั่วโมง (0-23)
    • setMinutes(minute): กำหนดนาที (0-59)
    • setSeconds(second): กำหนดวินาที (0-59)
    • setMilliseconds(millisecond): กำหนด milliseconds (0-999)
    • setTime(milliseconds): กำหนด timestamp

ตัวอย่างการใช้งาน:

const today = new Date();

const year = today.getFullYear();
const month = today.getMonth();
const day = today.getDate();

console.log(`วันนี้วันที่ ${day} เดือน ${month + 1} ปี ${year}`); // เดือนต้องบวก 1 เพราะเริ่มต้นที่ 0

today.setFullYear(2025);
today.setMonth(11); // ธันวาคม
today.setDate(25);

console.log(today); // วันที่ถูกเปลี่ยนแปลง

การ Format Date

JavaScript มี methods สำหรับการ format date ในรูปแบบต่างๆ แต่โดยทั่วไปมักจะไม่เพียงพอต่อความต้องการที่ซับซ้อน ดังนั้นจึงนิยมใช้ libraries ภายนอก เช่น Moment.js (แม้ว่าปัจจุบันจะถือว่า legacy แล้ว) หรือ Luxon เพื่อช่วยในการ format date

  • Methods พื้นฐานสำหรับการ Format Date:
    • toDateString(): คืนค่าวันที่ในรูปแบบที่อ่านง่าย (เช่น "Mon Jan 15 2024")
    • toLocaleDateString(): คืนค่าวันที่ในรูปแบบที่เหมาะสมกับ locale (ภาษาและภูมิภาค)
    • toTimeString(): คืนค่าเวลาในรูปแบบที่อ่านง่าย (เช่น "10:30:00 GMT+0700 (Indochina Time)")
    • toLocaleTimeString(): คืนค่าเวลาในรูปแบบที่เหมาะสมกับ locale
    • toISOString(): คืนค่าวันที่และเวลาในรูปแบบ ISO 8601 (เช่น "2024-01-15T03:30:00.000Z")
  • ตัวอย่างการใช้งาน:
  • const now = new Date();
    
    console.log(now.toDateString());
    console.log(now.toLocaleDateString('th-TH')); // รูปแบบวันที่แบบไทย
    console.log(now.toTimeString());
    console.log(now.toISOString());
    

การใช้ Libraries สำหรับ Format Date (ตัวอย่าง: Luxon):

Luxon เป็น library ที่ทันสมัยและแนะนำให้ใช้แทน Moment.js สำหรับการจัดการวันที่และเวลาที่ซับซ้อน

// ติดตั้ง Luxon: npm install luxon

const { DateTime } = require('luxon');

const now = DateTime.now();

console.log(now.toLocaleString(DateTime.DATE_FULL)); // รูปแบบวันที่แบบเต็ม
console.log(now.toFormat('yyyy-MM-dd HH:mm:ss')); // รูปแบบที่กำหนดเอง

ข้อดีของการใช้ Libraries:

  • รองรับรูปแบบวันที่และเวลาที่หลากหลาย
  • จัดการ Timezone ได้อย่างมีประสิทธิภาพ
  • API ที่ใช้งานง่ายและมีความยืดหยุ่นสูง

สรุป

Date object ใน JavaScript เป็นเครื่องมือพื้นฐานที่สำคัญสำหรับการจัดการวันที่และเวลา การเข้าใจวิธีการสร้าง, การดึงข้อมูล, และการจัดรูปแบบวันที่ จะช่วยให้คุณสามารถทำงานกับข้อมูลวันที่และเวลาได้อย่างมีประสิทธิภาพมากยิ่งขึ้น สำหรับความต้องการที่ซับซ้อน แนะนำให้ใช้ libraries ภายนอก เช่น Luxon เพื่อความสะดวกและยืดหยุ่นในการใช้งาน

ในบทความถัดไป เราจะพูดถึงการใช้งาน Math object ซึ่งเป็น object ที่มี methods และ properties สำหรับการคำนวณทางคณิตศาสตร์

Office.in.th Custom Service

この構成をもとにシステムを開発・カスタマイズしたいですか?

Office.in.th は、エンタープライズ Web アプリケーション、API 連携、官民の業務管理システムの設計・開発を承り、長期的なサポートも提供します。

ソフトウェア開発サービスを見る