در مقاله قبل، شما را با کتابخانه جاوااسکریپتی JSS-Date آشنا کردیم. در این مقاله میخواهیم بیشتر در مورد شی اصلی این کتابخانه یعنی DateTime صحبت کنیم.
شی DateTime همانند شی Date در جاوااسکریپت، مشخص کننده یک تاریخ و زمان خاص است. هنگام ساخت این شی میتوانید (به صورت اختیاری) تقویم، time-zone و locale را مشخص کنید:
const d = new DateTime({ calendar: 'persian', zone: 'Asia/Tehran', locale: 'fa' }, 1400, 11, 1);
در صورتی که یکی از پارامترهای تقویم، time-zone و locale را مشخص نکنید، از مقادیر پیش فرض استفاده خواهد شد (مقاله قبلی را بخوانید).
در ادامه، متدها و فیلدهای کلاس DateTime را شرح میدهیم:
{ calendar: Calendar, locale: Locale, zone: Zone }
const d1 = new DateTime({calendar: 'gregorian'}, 2022, 1, 21); const d2 = d1.to('persian'); console.log(d2.year, d2.month, d2.day); // 1400, 11, 1 const d3 = d2.to('hijri'); console.log(d3.year, d3.month, d3.day); // 1443, 6, 18
const d1 = new DateTime({zone: Zones.utc}, 2022, 1, 21, 0, 0, 0, 0); // hour=minute=second=ms=0 const d2 = d1.toZone(Zones.iana('Asia/Tehran')); console.log(d2.hour, d2.minute, d2.second); // 3, 30, 0
import { format } from '@js-suger/date/plugins/format'; const d1 = new DateTime({locale: 'fa', calendar: 'persian'}, 1400, 1, 1); console.log(format(d1, 'MMMM')); // فروردین const d2 = d1.toLocale('en'); console.log(format(d2, 'MMMM')); // Farvardin
یک DateTime معادل با این شی و با Zone محلی ایجاد میکند. این متد منطقه زمانی شی را به منطقه زمانی محلی (منطقه زمانی کامپیوتری که برنامه روی آن اجرا میشود) تغییر میدهد.
const d1 = new DateTime({zone: Zones.utc}); const d2 = d1.toLocal(); // d2 would be in your local time zone
یک DateTime معادل با این شی و با منطقه زمانی UTC ایجاد میکند. این متد منطقه زمانی شی را به منطقه زمانی UTC تغییر میدهد.
const d1 = new DateTime({zone: Zones.local}); const d2 = d1.toUtc(); // d2 would be in UTC time zone
در مقالات آینده با دیگر اجزای این کتابخانه آشنا خواهید شد.
مقالاتی که تا کنون در رابطه با کتابخانه جاوااسکریپتی JSS-Date منتشر کرده ایم:
ریپازیتوری پروژه (جهت ثبت باگ و درخواست افزودن قابلیتهای جدید):
https://github.com/js-sugar/date
مستندات پروژه:
https://js-sugar.github.io/date