ما اول کار به سه تا کتابخونه نیاز داریم پس اول cmd یا terminal رو باز میکنیم و یه دایرکتوری ایجاد میکنیم
mkdir moment-timeو میریم داخل دایرکتوری
cd moment-timeخب حالا پروژه رو ایجاد و کتابخونه های مورد نیاز رو نصب میکنیم
npm init -y && npm i jalali-moment moment-timezone moment-duration-formatحالا باید یه فایل ایجاد کنیم که من اسمش رو میزارم index.js
الان میتونیم با دستور
node index.js
خروجی هارو داخل cmd یا terminal ببینیم اگه میخواین تو حالت watch مود باشه از کتابخونه nodemon استفاده کنین اول کتابخونه رو نصب کنین من رو حالت dev نصبش میکنم چون این کتابخونه برای حالت Production کارایی نداره
npm i --save-dev nodemonو حالا میتونین با دستور زیر به nodmon بگین با هر تغییر یک بار کامپایلر js رو مجددا راه اندازی کنه.
nodemon index.js
نکته nodemon در تمامی زبان های مفسری میتونه مفید باشه و کار کنه من مثال های استفادش رو در زبان های دیگه بعدا براتون میزارم.
حالا بریم سراغ مثال ها و خروجی هاشون
اول کتابخونه هارو ایمپورت میکنیم من از commonjs استفاده میکنم میتونین از حالت es6 یا module هم استفاده کنین
const moment = require("jalali-moment"); require("moment-timezone"); require("moment-duration-format");مثال اول دریافت تاریخ جاری و تایم لحظه ای
const localeTime = moment().locale("fa").tz("Asia/Tehran").format("D MMMM YYYY h:mm:ss a");
console.log(localeTime); // دی 2 1402 , 12:41:29 قبا اضافه کردن D روز جاری از هفته هم لاگ میشه
مثال دوم میتونیم یه تاریخ رو بصورت تایم یونیکس یک تاریخ از آینده رو بدیم و سال ماه روز دقیقه و ثانیه باقی مونده رو مشاهده کنیم مثلا تاریخ سال تحویل رو بدیم و روزهای باقی مونده رو ببینیم مثال:
const moment = require("jalali-moment"); require("moment-timezone"); require("moment-duration-format");
const remaining = moment.duration(moment(1910281644738).diff(moment()));
console.log(`${remaining.format("y [سال], M [ماه], w [هفته], d [روز], h [ساعت], m [دقیقه]", { trim: "all" })}`);
// result
// 6 سال, 6 ماه, 3 هفته, 19 ساعت, 50 دقیقهحالا میتونینم بگیم مثلا از آخرین آنلاینی یک یوزر داخل اپمون یا سایتمون چقد گذشته یا این کامنت کی داخل سایت گزاشته شده
const moment = require("jalali-moment"); require("moment-timezone"); require("moment-duration-format");
const startTime = 1700000689038;
const currentTime = moment();
const elapsedDuration = moment.duration(currentTime.diff(moment(startTime)));
const formattedDuration = elapsedDuration.format("y [سال], M [ماه], d [روز], h [ساعت], m [دقیقه], s [ثانیه]", { trim: "all" });
console.log(formattedDuration);
//result
// 1 ماه, 7 روز, 23 ساعت, 40 دقیقه, 34 ثانیهاین چند نمونه ساده بود بعدا تو پروژه ها ادونس تر از این کتابخونه ها استفاده میکنیم خواستم صرفا باهاشون آشنا باشین ضمننا من لینک این کتابخونه هارو میزارم میتونین کمی مطالعه بکنین
https://www.npmjs.com/package//moment-duration-format
https://www.npmjs.com/package/jalali-moment
https://www.npmjs.com/package/moment-timezone
#Gn
@CleverDevs
@CleverDevsGp