9 کتابخانه برتر تاریخ و ساعت برای JavaScript

گردآوری و تالیف : عرفان کاکایی
تاریخ انتشار : 25 مرداد 1397
دسته بندی ها : جاوا اسکریپت

شاید یک روز کتابخانه‌ای برای سفر در زمان بسازیم، اما فعلا باید با کتابخانه‌های دستکاری تاریخ و زمان در برنامه خود کنار بیاییم. چه نیاز به ساخت یک تقویم دارید، و چه می‌خواهید یک سیستم برنامه‌ریزی وقت ملاقات یا رابطی برای ادغام افراد مختلف در منطقه‌های زمانی مختلف بسازید، دستکاری زمان یکی از ضروری‌ترین موارد در برنامه‌های JavaScript است.

در اینجا، ۹ کتابخانه پرکاربرد برای کمک در دستکاری زمان را خواهید دید. ماژول‌های جداگانه هر کدام از این کتابخانه‌ها می‌تواند با استفاده از Bit (پلتفرمی که کامپوننت‌ها و ماژول‌ها را تبدیل به بلوک‌های ساخت می‌کند؛ و این بلوک‌های می‌توانند استفاده شوند، توسعه داده شوند و از هر پروژه‌ای همگام سازی (sync) شوند) به کار گرفته شوند.

1. Date-fns

Date-fns یک کتابخانه دستکاری زمان معروف (دارای 11 هزار ستاره، و بیش از نیم میلیون نصب از طریق NPM به صورت هفتگی) برای JavaScript است، که توسط بسیاری از توسعه‌دهندگان برای جایگزینی با Moment.js انتخاب شده است. Date-fns بیش از ۱۳۰ عملکرد برای دستکاری تاریخ‌ها در مرورگر و Node.js فراهم می‌کند. این کتابخانه با استفاده از توابع خالص ساخته شده است و همه چیز را تغییر ناپذیر نگه می‌دارد، و نمونه‌های تاریخ منتقل شده را تغییر نمی‌دهد. با bundlerهایی مانند Webpack، Browserify یا Rollup به خوبی کار می‌کند و از tree-shaking نیز پشتیبانی می‌کند. همچنین می‌تواند با Bit ترکیب شود و هر عملکرد را به صورت تکی قابل نصب، استفاده و تغییر کند.

2. Moment

Moment.js یک کتابخانه دستکاری زمان به خوبی شناخته شده، پر استفاده و به گونه‌ای سنگین است که برای کار کردن هم در مرورگر و هم در Node.js طراحی شده است. Moment.js دارای حدود 40 هزار ستاره می‌باشد و به شما در parse کردن، اعتبارسنجی، دستکاری و نمایش تاریخ‌ها در JavaScript کمک می‌کند. دقت کنید که خود آبجکت Moment قابل تغییر است، پس عملیات‌های مختلف، آبجکت Moment اصلی را تغییر می‌دهند.

3. Luxon

Luxon که توسط یکی از نگهداران Moment ساخته شده است، یک کتابخانه JavaScript دارای 6 هزار و 500 ستاره، برای کار کردن با تاریخ و زمان، با یک رابط جامع است. بر خلاف Moment، آبجکت‌های Luxon غیر قابل تغییر هستند، پس اعمال تغییرات، در واقع یعنی ساخت نمونه‌ای جدید با ویژگی‌های مختلف.

4. Day JS

Day JS با داشتن تقریبا 12 هزار ستاره، یک کتابخانه ۲ کیلوبایتی، جایگزین Moment.js با یک API مشابه است. این کتابخانه در parse کردن، اعتبارسنجی،‌ دستکاری و نمایش تاریخ‌ها و زمان‌ها به شما کمک می‌کند، و همچنین غیر قابل تغییر است. به جای تغییر دادن Date.prototype، این کتابخانه یک wrapper برای آبجکت Date می‌سازد، که Dayjs نام دارد. تمام عملیات‌های API که آبجکت Dayjs را تغییر می‌دهند، به گونه‌ای یک نمونه‌ جدید از آن را بر می‌گردانند.

5. Ms.js

Ms.js یک کتابخانه کوچک، اما تحسین برانگیز است که قالب‌های مختلف زمان را به میلی ثانیه تبدیل می‌کند. این کتابخانه همچنین به صورت بر عکس نیز کار می‌کند، و میلی ثانیه را به قالب‌های زمان خوانا تبدیل می‌کند. Ms.js هم با مرورگر و هم با Node.js کار می‌کند.

6. Timeago.js

Timeago یک کتابخانه 2 کیلوبایتی است که یک کار پر استفاده را انجام می‌دهد: تبدیل قالب‌های زمان، جهت نمایش این که از آن زمان مورد نظر تا به حال، چقدر گذشته است. این کتابخانه به هیچ‌گونه Dependency نیاز ندارد.

7. Instadate

Instadate یک کتابخانه کوچک با تعداد زیادی امکانات، و دارای فقط 800 ستاره است. Instadate بیشتر یک wrapper برای تاریخ‌های JavaScript است، تا یک کتابخانه کامل. این کتابخانه می‌تواند هزاران تاریخ و ساعت را در ثانیه دستکاری کند و هم با ES5 و هم با ES6 کار می‌کند. Instadate تعدادی Dependency مانند lodash.difference را به همراه خود دارد.

8. JS-Joda

JS-Joda یک کتابخانه تاریخ و زمان غیر قابل تغییر برای JavaScript، با یک API تحت فرمان دامنه بر پایه تاریخ ISO8601 است. خاص بودن آن، در این است که آبجکت تاریخ JavaScript را wrap نمی‌کند؛ بلکه در عوض، یک پیاده‌سازی تاریخ و زمان مستقل است. این کتابخانه هیچ‌گونه خارجی ندارد.

9. Spacetime

گاهی اوقات، این یک کتابخانه منطقه زمانی JavaScript سبک است که می‌خواهید؛ تا بتوانید با وجود حجم کم آن، محاسبات پیچیده انجام دهید و با منطقه‌های زمانی کار کنید، که همگی این موارد با یک API مشابه به Moment باشد و هیچ‌گونه Dependency نیاز نداشته باشد.

موارد دیگر که بهتر است بشناسید:

دقت کنید که این کتابخانه‌ها قدیمی، عدم تحت پشتیبانی یا خیلی جوان هستند؛ پس با دقت به سراغ آن‌ها بروید.

منبع

مقالات پیشنهادی

15 کتابخانه جالب javascript و css دی ۹۵

ماموریت ما در راکت این است که شما را بر اساس تکنولوژی روز طراحی وب به روز نگه داریم . به همین خاطر هم هست که ما تقریبا ماهانه یا چند هفته در میان پستی...

15 کتابخانه جالب javascript و css

ماموریت ما در راکت این است که شما را بر اساس تکنولوژی روز طراحی وب به روز نگه داریم . به همین خاطر هم هست که ما تقریبا ماهانه یا چند هفته در میان پستی...

15 کتابخانه جالب JavaScript و CSS

باز هم با مجموعه‌ای از منابع منتخب در خدمت شما هستیم، که ارزش توجه شما را دارند. در این مقاله، با ۱۵ کتابخانه JavaScript و CSS آشنا خواهید شد

10 کتابخانه جذاب برای CSS و JavaScript در تیر ۱۳۹۶

در این مطلب کتابخانه جذاب برای CSS و JavaScript در تیر ۱۳۹۶ رو مشاهده میکنید که با استفاده از اون ها میتونید کارهای مختلفی با css و js انجام بدید که ک...