date-light — ไลบรารียูทิลิตีวันที่ TypeScript ขนาด 3.11KB
(date-light.flyingsquirrel.me)มีบางครั้งที่อยากใส่ไลบรารีวันที่ แต่ไม่ได้ต้องการทุกอย่างครบทั้ง locale/timezone/duration/plugin
date-light คือไลบรารียูทิลิตีวันที่ขนาดเล็กที่สร้างมาเพื่อแก้ปัญหานี้ โดยคัดเฉพาะงานเกี่ยวกับวันที่ที่ใช้บ่อยบนเว็บ/แอปมาให้ในรูปแบบ 39 ฟังก์ชัน ไม่มี runtime dependency และมีทั้ง TypeScript types กับ ESM/CJS entry points
import { addDays, differenceInDays, format, startOfWeek } from "date-light";
const launch = new Date(2026, 5, 30, 14, 30);
const reminder = addDays(launch, -7);
format(launch, "yyyy-MM-dd HH:mm"); // "2026-06-30 14:30"
format(startOfWeek(launch), "yyyy-MM-dd"); // "2026-06-29"
differenceInDays(launch, reminder); // 7
มีอะไรให้บ้าง
format, parseISO, parse
addDays, addMonths, addYears, addHours, subDays, subMonths...
differenceInDays, differenceInMonths, differenceInYears
isBefore, isAfter, isEqual, isSameDay, isSameMonth
isWeekend, isLeapYear, isValid, getDaysInMonth
startOfDay, endOfWeek, startOfMonth, endOfYear เป็นต้น
Date ที่ป้อนเข้าไปจะไม่ถูกแก้ไข ทุกฟังก์ชันจะคืนค่า Date ใหม่หรือคำนวณค่าออกมา
ทำไมถึงสร้างมันขึ้นมา
แอปส่วนใหญ่ใช้เพียงส่วนเล็กมากของไลบรารีวันที่เท่านั้น
โดยทั่วไปก็แค่ฟอร์แมตวันที่, parse สตริง ISO, บวกเพิ่มอีกไม่กี่วัน, หาความต่างระหว่างสองวันที่, แล้วจัดให้ตรงกับจุดเริ่มต้นและจุดสิ้นสุดของสัปดาห์/เดือน/ปี
date-light เลือกจะโฟกัสเฉพาะขอบเขตนี้ ให้ประสบการณ์การใช้งานคล้าย date-fns แต่รวมมาเฉพาะยูทิลิตีที่ใช้บ่อย
สิ่งที่ตั้งใจไม่ใส่มา
ไม่มี locale, timezone DB, duration object, plugin หรือ chaining API
ถ้าต้องการความสามารถเหล่านี้ Intl, Temporal, Luxon หรือ date-fns จะเหมาะกว่า ส่วน date-light เป็นเครื่องมือสำหรับเวลาที่อยากได้แค่การจัดการวันที่ทั่วไปในแอปแบบเล็กกระทัดรัด
ขนาด
ประมาณ 3.11KB แบบ minzipped สำหรับ 39 ฟังก์ชัน
ตามเกณฑ์เปรียบเทียบ bundle size ในเอกสาร ระบุว่าหากดึงฟังก์ชันใกล้เคียงกัน 20 ตัวจาก date-fns จะมีขนาดเล็กกว่าประมาณ 5.9 เท่า
GitHub: https://github.com/flyingsquirrel0419/date-light
npm: npm install date-light
docs/playground: https://date-light.flyingsquirrel.me/
ยังไม่มีความคิดเห็น