Moment JS ชั่วโมงนี้เรื่องจัดการ Date & Time ยกให้เขาเลย สำหรับชาว Web Developer

ข้อมูลมีมากมายหลายประเภท มีวิธีการจัดการที่แตกต่างกันออกไป DATE&TIME ก็เป็นข้อมูลประเภทนึงที่มีความหลากหลายทำให้จัดการได้ยาก วิธีที่ง่าย ๆ (ดูเหมือนง่ายแต่ไม่ง่าย) คือการ split(“-”) String “2018–07–03” และก็มา concat ข้อมูลใหม่เมื่อที่ต้องการอยากจะเปลี่ยน Format และด้วย Format Date ก็มีมากมาย เคยคิดไหมว่าน่าจะมีใครสักคนที่ทำ library มาจัดการเรื่องยุ่งยากพวกนี้ซะที

Moment JS คืออะไร
javascript library สำหรับใช้สำหรับจัดการ Date & Time ที่เรียกว่ามี Feature ให้ใช้งานมากมายซะเหลือเกิน

เริ่มใช้งานกันเลยดีกว่า

รู้จักการเรียกใช้งาน moment แบบง่าย ๆ เรียก moment() จะได้ datetime ปัจจุบัน อยากจะเปลี่ยน format ก็เรียก function format(‘format string’) ก็จะได้ format ตามต้องการ

การเปลี่ยน format ของ String date ทำได้โดยส่งเป็น parameter เข้า function moment(‘my_date’) ก็จะได้ moment object เราก็จะสามารถทำไปใช้งานต่อได้ แต่มีข้อสังเกตุ การใช้งาน DateTime เรื่อง TimeZone ของแต่ละภูมิภาคที่ต่างกันทำให้ moment แจ้ง warning วิธีแก้เบื้องต้นก็ให้กำหนด input format ของ ข้อมูลส่งเข้าเพื่อบอกให้ moment รู้

มี function หา วั ,เดือน ,ปี ฯลฯ ย้อนหลังในอดีต และในช่วงอนาคตด้วย function subtract(10, ‘days’) สำหรับหาวันย้อนหลัง และ add(10, ‘days’) สำหรับหาวันในอนาคต และสามารถกำหนดช่วงการหาเป็นแบบ ปี เดือน วัน นาที วินาที ก็ทำได้

มี function หาจำนวนความต่าง (difference) ระหว่าง 2 moment object สามารถคืนค่าหน่วยเป็น years, months, weeks, days, hours, minutes, and seconds ได้

หน่วยค่า unix-timestamp (milliseconds) แปลงค่ากลับมาในรูปแบบที่มนุษย์อ่านรู้เรื่องได้ และสามารถแสดงในรูปแบบที่มนุษย์อ่านรูปเรื่อง กลับไปเป็นหน่วย (milliseconds)

หาจำนวนวันตามเดือนปฏิทินเดือนลงท้ายด้วย ยน ,คม และ เดือนกุมภาพันธ์ ด้วย function daysInMonth()

ตรวจสอบเปรียบเทียบ 2 moment ว่า moment เป้าหมาย เป็นเหตุการณ์เกิดก่อนด้วย isBefore() ,เหตุการณ์เกิดหลัง ด้วย isAfter() และเหตุการณ์เหมือนกันด้วย isSame() โดยจะคืนค่าเป็น boolean

*** สิ่งสำคัญเมื่อจะเรียกใช้งาน function ของ moment JS จะต้อง transform ค่า string date ให้เป็น moment object เพื่อเรียกใช้งาน function ของ moment JS

ทั้งหมดที่ยังไม่ใช้ทั้งหมดที่ Moment JS ทำได้ยังมีอีกความสามารถอีกเยอะมากที่ยังไม่ได้กล่าวถึงที่ Moment ทำได้เข้าไปดูได้ที่ https://momentjs.com/docs/

Written by

Senior Developer @Telecom, Full Stack Developer [Subscribe Me @poolsawat.com]

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store