مستندات n8n
74+ نود
📅

تاریخ و زمان

Date & Time

تبدیل فرمت تاریخ، محاسبه زمانی، تغییر Timezone و استخراج اجزای تاریخ

ابزارها
مقدماتی
۰ بازدید
n8n 1.0+

نمای کلی

نود DateTime چیست؟

نود DateTime امکان تبدیل، محاسبه و فرمت‌بندی تاریخ و زمان را فراهم می‌کند.

قابلیت‌های کلیدی:

  • تبدیل بین فرمت‌های مختلف تاریخ (ISO, Unix, Custom)
  • محاسبه اختلاف بین دو تاریخ
  • جمع/تفریق زمان (افزودن روز، ساعت، دقیقه)
  • تبدیل Timezone (مثلاً UTC به Asia/Tehran)
  • استخراج اجزا: سال، ماه، روز، ساعت، روز هفته
  • Round کردن زمان (ابتدای ساعت، روز، هفته)
  • مقایسه تاریخ‌ها (قبل/بعد)

فرمت‌های رایج:

  • ISO 8601: 2024-01-15T10:30:00Z
  • Unix Timestamp: 1705312200
  • Custom: 1402/10/25 یا 15 Jan 2024

Timezone ایران:

  • Asia/Tehran (UTC+3:30)
  • در تابستان: UTC+4:30 (اگر DST فعال باشد)

احراز هویت

بدون نیاز به احراز هویت - نود DateTime یک نود داخلی n8n است.

عملیات‌های موجود

1

تبدیل فرمت تاریخ

تبدیل تاریخ از یک فرمت به فرمت دیگر. مثلاً ISO به فارسی یا Unix به خوانا.

2

جمع/تفریق زمان

افزودن یا کسر کردن مقدار زمانی. مثلاً 7 روز بعد، 2 ساعت قبل.

3

محاسبه اختلاف

محاسبه فاصله زمانی بین دو تاریخ. خروجی بر حسب واحد انتخابی.

4

تبدیل Timezone

تبدیل تاریخ از یک Timezone به دیگری. مثلاً UTC به Asia/Tehran.

5

استخراج اجزا

استخراج بخشی از تاریخ: سال، ماه، روز، ساعت، دقیقه، روز هفته، هفته سال.

6

Round کردن زمان

گرد کردن زمان به نزدیک‌ترین واحد. مثلاً ابتدای ساعت جاری یا ابتدای روز.

7

تاریخ فعلی

دریافت تاریخ و زمان فعلی با Timezone دلخواه.

8

مقایسه تاریخ

مقایسه دو تاریخ: قبل، بعد، مساوی، بین دو تاریخ.

کاربردهای متداول

موارد استفاده رایج

۱. زمان‌بندی یادآورها

محاسبه 3 روز قبل از سررسید فاکتور > ارسال یادآور به مشتری از طریق Telegram/Email.

۲. تبدیل UTC به وقت تهران

API خارجی تاریخ UTC برمی‌گرداند > تبدیل به Asia/Tehran > نمایش به کاربر ایرانی.

۳. فیلتر رکوردهای اخیر

دریافت داده > محاسبه اختلاف با Now > فقط رکوردهای 7 روز اخیر عبور کنند.

۴. تولید گزارش دوره‌ای

محاسبه ابتدا و انتهای هفته/ماه جاری > Query دیتابیس با بازه تاریخ.

۵. محاسبه سن سفارش

زمان ایجاد سفارش تا حالا > نمایش "2 ساعت پیش" یا "3 روز پیش".

۶. SLA Monitoring

محاسبه زمان باقی‌مانده تا Deadline SLA > هشدار اگر کمتر از 1 ساعت.

۷. تقویم محتوایی

محاسبه تاریخ انتشار: "هر سه‌شنبه ساعت 10 صبح" > Schedule + DateTime.

۸. انقضای Token/License

بررسی تاریخ انقضا: اگر کمتر از 30 روز مانده > ارسال یادآور تمدید.

۹. گروه‌بندی بر اساس تاریخ

استخراج ماه/سال از تاریخ > گروه‌بندی فروش به صورت ماهانه.

۱۰. Working Hours Check

بررسی ساعت کاری (8-17): اگر خارج ساعت کاری است > صف پیام.

نکات حرفه‌ای

نکات و ترفندها

توکن‌های فرمت Luxon

  • yyyy: سال 4 رقمی (2024)
  • MM: ماه 2 رقمی (01-12)
  • dd: روز 2 رقمی (01-31)
  • HH: ساعت 24 ساعته (00-23)
  • hh: ساعت 12 ساعته
  • mm: دقیقه
  • ss: ثانیه
  • EEEE: نام روز هفته (Monday)
  • MMMM: نام ماه (January)

Expression‌های تاریخ n8n

  • زمان فعلی: {{ $now }}
  • امروز: {{ $today }}
  • فرمت: {{ $now.toFormat('yyyy/MM/dd') }}
  • جمع: {{ $now.plus({days: 7}) }}
  • تفریق: {{ $now.minus({hours: 2}) }}
  • Timezone: {{ $now.setZone('Asia/Tehran') }}

تاریخ شمسی

n8n مستقیماً شمسی ندارد. از Code node استفاده کنید یا از Expression: تبدیل به شمسی نیاز به کتابخانه یا API خارجی دارد.

بهترین روش‌ها

  • همیشه تاریخ را به UTC ذخیره کنید
  • فقط موقع نمایش به Timezone محلی تبدیل کنید
  • ISO 8601 بهترین فرمت برای ذخیره‌سازی
  • Unix timestamp برای مقایسه عددی سریع

ادغام با سایر نودها

  • Schedule Trigger: اجرای Workflow در زمان خاص
  • Filter: فیلتر بر اساس بازه تاریخ
  • IF: شرط بر اساس روز هفته یا ساعت
  • Wait: تأخیر تا زمان مشخص
  • Set: افزودن فیلد تاریخ محاسبه‌شده

رفع مشکلات

عیب‌یابی

۱. فرمت تاریخ تشخیص داده نمی‌شود

**مشکل:** DateTime نمی‌تواند فرمت ورودی را Parse کند **راه‌حل:** فرمت ورودی را صریحاً مشخص کنید. از ISO 8601 استفاده کنید. فرمت‌های مبهم مثل 01/02/03 مشکل‌ساز هستند.

۲. Timezone اشتباه

**مشکل:** ساعت 3:30 اختلاف دارد **راه‌حل:** ایران UTC+3:30 است. از Asia/Tehran استفاده کنید نه +03:30. DST ایران را در نظر بگیرید.

۳. Unix Timestamp به میلی‌ثانیه

**مشکل:** تاریخ سال 1970 نشان می‌دهد **راه‌حل:** JavaScript از milliseconds استفاده می‌کند. اگر Unix seconds دارید: timestamp * 1000.

۴. تاریخ شمسی

**مشکل:** n8n از تقویم شمسی پشتیبانی نمی‌کند **راه‌حل:** از Code node با کتابخانه jalaali-js استفاده کنید. یا از API تبدیل تاریخ.

۵. خطای Invalid Date

مشکل: مقدار ورودی تاریخ نیست راه‌حل: ابتدا با Filter بررسی کنید مقدار خالی نباشد. فرمت صحیح بررسی شود.

۶. اختلاف محاسبه منفی

**مشکل:** نتیجه Difference منفی است **راه‌حل:** ترتیب date1 و date2 مهم است. از Math.abs() برای مقدار مطلق.

۷. DST (ساعت تابستانی)

مشکل: یک ساعت اختلاف غیرمنتظره راه‌حل: از IANA timezone names استفاده کنید (خودکار DST). از fixed offset اجتناب کنید.

۸. فرمت خروجی اشتباه

مشکل: توکن‌های فرمت کار نمی‌کنند راه‌حل: n8n از Luxon format tokens استفاده می‌کند: yyyy (سال)، MM (ماه)، dd (روز)، HH (ساعت 24)، mm (دقیقه).

اشتراک‌گذاری:

آیا این مستندات مفید بود؟