اجازه دهید کتابخانه Luxon بار مدیریت تاریخ و زمان را برای برنامه های جاوا اسکریپت شما تحمل کند.
می توانید از جاوا اسکریپت برای ساخت برنامه های وب پویا و برنامه هایی که در محیط های دیگر از جمله دسکتاپ اجرا می شوند استفاده کنید. بسیاری از برنامهها باید تاریخها و زمانها را مدیریت کنند، از برنامهریزیها و برنامههای چت گرفته تا برنامههای رزرو رویداد.
Luxon جایگزینی برتر برای شیء اصلی جاوا اسکریپت Date، با راههای کاربرپسندتر و قابل اعتمادتر برای مدیریت عملیات تاریخ و زمان ارائه میکند.
نصب لوکسون
بسته به روش دلخواهتان، میتوانید Luxon را به چند روش به برنامه جاوا اسکریپت خود اضافه کنید. دو روش رایج استفاده از npm برای نصب کتابخانه یا استفاده از پیوند CDN برای گنجاندن کتابخانه در برنامه شما است.
برای نصب Luxon در پروژه Node.js، دستور npm زیر را در ترمینال خود اجرا کنید:
npm install --save luxon
با نیاز به luxon از کتابخانه در فایل جاوا اسکریپت خود استفاده کنید:
const { DateTime } = require("luxon");
این کد برای وارد کردن کلاس DateTime از کتابخانه Luxon و ایجاد متغیر جدید DateTime که به آن کلاس ارجاع می دهد، از ساختارشکن شی استفاده می کند.
این به شما امکان می دهد نمونه هایی از تاریخ و زمان ایجاد کنید و عملیاتی مانند قالب بندی تاریخ ها را برای نمایش انجام دهید.
از طرف دیگر، می توانید Luxon را با استفاده از پیوند CDN در برنامه خود قرار دهید. برای انجام این کار، نشانه گذاری زیر را به فایل HTML خود اضافه کنید:
<script src="https://cdn.jsdelivr.net/npm/luxon@3.2.1/build/global/luxon.min.js"></script>
با استفاده از این رویکرد، می توانید اسکریپت ها را با استفاده از Luxon در بدنه HTML خود اجرا کنید.
ویژگی های Luxon
Luxon ویژگیهای بسیاری را ارائه میکند که آن را به یک بسته ارزشمند برای مدیریت تاریخ و زمان در برنامههای جاوا اسکریپت تبدیل میکند.
دستکاری جامع تاریخ و زمان
Luxon روش های مختلفی را برای ایجاد، دستکاری و بازیابی تاریخ و زمان ارائه می دهد. Luxon کارهایی مانند اضافه یا تفریق مدت زمان، تنظیم مؤلفه های خاص تاریخ/زمان و انجام محاسبات زمان نسبی را ساده می کند.
قالب بندی و بومی سازی
گزینه های قالب بندی Luxon به شما امکان می دهد تاریخ ها و زمان ها را در قالب های مختلف نمایش دهید. Luxon از الگوهای فرمت های مختلف پشتیبانی می کند و به شما امکان می دهد تاریخ و زمان را بر اساس زبان های دیگر تنظیم کنید.
پشتیبانی منطقه زمانی
با Luxon، می توانید به طور موثر با تاریخ ها و زمان ها در مناطق زمانی مختلف کار کنید. Luxon روش هایی را برای تنظیم و تبدیل بین مناطق زمانی ارائه می دهد.
طراحی تغییرناپذیر
Luxon از یک الگوی طراحی تغییرناپذیر پیروی می کند و اطمینان می دهد که اشیاء DateTime تغییرناپذیر هستند. این رویکرد طراحی رفتار قابل پیش بینی و سازگاری را هنگام کار با تاریخ و زمان ارائه می دهد.
اسناد API گسترده
مستندات API Luxon بسیار دقیق است و کاوش و درک روشها، گزینهها و عملکردهای موجود را آسان میکند.
کلاس DateTime در لوکسون
کلاس DateTime در لوکسون یک تاریخ و زمان خاص را نشان می دهد. هم روش کلاس و هم روش نمونه ای را ارائه می دهد که به شما امکان می دهد وظایف مختلفی را انجام دهید. این وظایف شامل ایجاد، تجزیه، بازیابی، اصلاح و قالب بندی تاریخ و زمان است.
در اینجا چند روش مختلف برای ایجاد یک نمونه جدید از کلاس Date Time در لوکسون آورده شده است:
- متد DateTime.local():const dt = DateTime.local(2023, 5, 21, 1, 22, 37, 845); این کد با استفاده از متد ()DateTime.local یک نمونه DateTime جدید ایجاد می کند. این روش هفت آرگومان می گیرد که نشان دهنده مقادیر سال، ماه، روز، ساعت، دقیقه، ثانیه و میلی ثانیه از تاریخ و زمانی است که می خواهید ایجاد کنید.
- متد DateTime.fromJSDate():const now = new Date();const dt = DateTime.fromJSDate(now); کد یک نمونه تاریخ جاوا اسکریپت بومی جدید ایجاد می کند و آن را به متد DateTime.fromJSDate() ارسال می کند. آن متد یک شیء DateTime را نشان می دهد که تاریخ و زمان یکسانی را نشان می دهد.
- متد DateTime.fromObject():const dt = DateTime.fromObject({ سال: 2023، ماه: 1، روز: 1، ساعت: 0، دقیقه: 0، ثانیه: 0، د : 0، د ; این بلوک کد نحوه ایجاد یک نمونه DateTime جدید را با استفاده از متد ()DateTime.fromObject نشان می دهد. این روش یک شی را با ویژگی هایی می گیرد که مقادیر سال، ماه، روز، ساعت، دقیقه، ثانیه و میلی ثانیه تاریخ و زمانی را که می خواهید ایجاد کنید را نشان می دهد.
- با استفاده از متد DateTime.now():const dt = DateTime.now(); این بلوک کد نحوه ایجاد یک نمونه جدید Date Time را با استفاده از متد DateTime.now () نشان می دهد. این روش یک نمونه DateTime جدید را برمی گرداند که تاریخ و زمان فعلی را در منطقه زمانی محلی نشان می دهد.
const dt = DateTime.local(2023, 5, 21, 1, 22, 37, 845);
const now = new Date();
const dt = DateTime.fromJSDate(now);
const dt = DateTime.fromObject({
year: 2023,
month: 1,
day: 1,
hour: 0,
minute:0,
second: 0,
millisecond: 0
});
const dt = DateTime.now();
قالب بندی اشیاء DateTime به رشته ها
Luxon قالب بندی اشیاء DateTime را به رشته هایی که تاریخ و زمان خاصی را نشان می دهند، ساده می کند. می توانید از Luxon برای قالب بندی تاریخ ها و زمان ها به روش های مختلف استفاده کنید.
ISO 8601
فرمت ISO 8601 به طور گسترده ای برای نمایش استاندارد تاریخ و زمان استفاده می شود. برای قالب بندی یک شی DateTime به عنوان یک رشته ISO 8601، از متد toISO() استفاده کنید:
const now = DateTime.local();
console.log(now.toISO()); // 2023-05-21T15:20:07.936+01:00
قالب های خوانا توسط انسان
Luxon از قالبهای قابل خواندن برای انسان پشتیبانی میکند که میتوانید آنها را برای زبانهای محلی سفارشی کنید. شما می توانید یک شی DateTime را به یک رشته قابل خواندن توسط انسان با روش toLocaleString() قالب بندی کنید:
const now = DateTime.local();
console.log(now.toLocaleString()); // 5/21/2023
قالب بندی مبتنی بر توکن
قالببندی مبتنی بر توکن به شما امکان میدهد تاریخ و زمان را به رشتههای سفارشی با استفاده از متغیرهایی به نام توکنها قالببندی کنید. برای قالب بندی یک شی DateTime با استفاده از نشانه ها، از متد toFormat() استفاده کنید:
const now = DateTime.local();
console.log(now.toFormat("yyyy-MM-dd HH:mm:ss")); //2023-05-21 15:16:57
در مثال بالا، رشته قالب yyyy-MM-dd HH:mm:ss فرمت خروجی مورد نظر را نشان می دهد. نشانه های yyyy، MM، dd، HH، mm و ss به ترتیب با سال، ماه، روز، ساعت، دقیقه و ثانیه شی DateTime مطابقت دارند.
Luxon به شما امکان می دهد تا با ارائه مجموعه گسترده ای از نشانه ها، طیف گسترده ای از نمایش تاریخ و زمان را انجام دهید.
تجزیه و اعتبارسنجی تاریخ و زمان در لوکسون
Luxon روش های قوی برای تجزیه و اعتبارسنجی تاریخ و زمان ارائه می دهد. این ویژگی ها برای کارهایی مانند اعتبار سنجی ورودی کاربر یا تبدیل نمایش رشته ای از تاریخ و زمان به اشیاء DateTime مفید هستند.
متد fromFormat().
متد fromFormat() به شما این امکان را می دهد که یک نمایش رشته ای از تاریخ و زمان را تجزیه کنید و آن را به یک شی DateTime تبدیل کنید. دو آرگومان نیاز دارد، رشته ورودی و یک رشته قالب که فرمت ورودی را مشخص می کند.
مثلا:
DateTime.fromFormat("May 25 2023", "LLLL dd yyyy")
اعتبارسنجی تاریخ و زمان با روش isValid
روش isValid بررسی میکند که آیا شیء DateTime تاریخ و زمان معتبری را نشان میدهد یا خیر. اگر شی معتبر باشد true و در غیر این صورت false برمی گرداند.
اینطوری:
const invalidDate = DateTime.fromObject({ year: 2022, month: 2, day: 29 });
console.log(invalidDate.isValid); // false
const validDate = DateTime.fromObject({ year: 2022, month: 2, day: 28 });
console.log(validDate.isValid); // true
در مثال، اولین شی DateTime یک تاریخ نامعتبر را نشان می دهد زیرا 29 فوریه 2022 معتبر نیست. دومین شی DateTime تاریخ معتبر 28 فوریه 2022 را نشان می دهد.
ویژگیهای تجزیه و اعتبارسنجی در Luxon به شما کمک میکند تا تاریخها و زمانها را با دقت مدیریت کنید، ورودیها را اعتبارسنجی کنید، و نمایشهای قابل اعتمادی از دادههای تاریخ و زمان ارائه دهید.
جایگزین های لوکسون
شما یاد گرفتهاید که چگونه با Luxon نمونههای تاریخ و زمان را ایجاد، قالببندی و اعتبارسنجی کنید. این نکات هنگام ساخت برنامه های وب که نیاز به مدیریت تاریخ و زمان دارند به شما کمک می کند.
همچنین میتوانید از سایر بستههای جاوا اسکریپت برای دستیابی به مدیریت تاریخ و زمان در برنامههای وب خود، از جمله Day.js و Date.fns استفاده کنید. این بسته ها مزایا و معایب خود را دارند و شما باید اولویت خود را بر اساس نیازهای خاص خود قرار دهید.