TGViewer
CleverDevs CleverDevs @cleverdevs · 11.1K subscribers
Post #1275 845
در nodejs میتونین با کتابخونه هایی که وابسته به Momentjs هستن کار های جالبی انجام بدین من چند نمونش رو اینجا پیاده سازی میکنم، ضمننا این کتابخونه ها سمت فرانت تو همه فریمورک ها و کتابخونه ها پشتیبانی میشن.

ما اول کار به سه تا کتابخونه نیاز داریم پس اول 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
  • 🔥 6
  • 👍 3
  • ❤‍🔥 2
  • 🆒 1
More from @cleverdevs
  1. Oct 13, 2026احتمالاً براتون پیش اومده وسط کار یهو سیستم لینوکسی‌تون فریز میشه؛ نه موس کار میکنه، نه کی…
  2. Oct 13, 2026لینوس توروالدز، سازنده و مسئول هسته لینوکس، که پیش از این از هوش مصنوعی برای دیباگ کردن کد…
  3. Oct 10, 2026توی گیت یه مفهومی داریم به اسم hunk که به هر تیکه از تغییرات توی خروجی git diff گفته میشه…
  4. Oct 6, 2026شرکت Cloudflare نسخه پایدار ابزار EmDash رو عرضه کرده که جایگزین سریع و ایمن وردپرس برای س…
  5. Oct 3, 2026خیلی وقتا که از ایجنت‌ها برای کدنویسی استفاده می‌کنید، برای یه تسک ساده یا کلی پکیج اضافه…
  6. Oct 2, 2026کلاینت ZedSecure رو روی AUR منتشر کردم. الان می‌تونید از اونجا نصبش کنید. https://aur.arch…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →