فهرست

جست‌وجوی ابزارهاگزارش تغییرات

برای جابه‌جایی برای باز کردنمسئله را توضیح دهید، نه نام ابزار را

تاریخ‌های ماهانه از ۳۱ ژانویه

برنامهٔ ماهانهٔ ۳۱ ژانویه به یک قاعدهٔ صریح برای تاریخ گمشده نیاز دارد، چون فوریه ۳۱ ندارد. با انتخاب پایان ماه، چهار تاریخ اول در سال ۲۰۲۶ ۳۱ ژانویه، ۲۸ فوریه، ۳۱ مارس و ۳۰ آوریل هستند. با انتخاب رد کردن، فوریه و هر ماه دیگری که ۳۱ ندارد حذف می‌شود.

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

روزها و هفته‌ها طول ثابتی دارند. ماه‌ها و سال‌ها روز تقویمیِ مبنا را هر جا که آن روز وجود داشته باشد حفظ می‌کنند.

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

این تعیین می‌کند «ماهانه از ۳۱ ژانویه» در فوریه چه معنایی دارد و «سالانه از ۲۹ فوریه» در سال غیرکبیسه چه.

آخرین تاریخ
2026-12-31
تاریخ‌های ساخته‌شده
۱۲
از اول تا آخر (روز)
۳۳۴
روز هفتهٔ آخرین تاریخ
پنجشنبه
تاریخ‌های منتقل‌شده به پایان ماه
۵

تقویم

recurring-dates-2026-01-31.ics · ۲٫۴ KB

برای هر سطر یک VEVENT تمام‌روز مطابق استاندارد، با مقدار DTEND انحصاریِ روز بعد و شناسه‌های پایدار رویداد.

همهٔ تاریخ‌های برنامه

۱2026-01-31شنبه۰تاریخ مبنا
۲2026-02-28شنبه۲۸به پایان ماه منتقل شد
۳2026-03-31سه‌شنبه۵۹دقیقاً روز مبنا
۴2026-04-30پنجشنبه۸۹به پایان ماه منتقل شد
۵2026-05-31یکشنبه۱۲۰دقیقاً روز مبنا
۶2026-06-30سه‌شنبه۱۵۰به پایان ماه منتقل شد
۷2026-07-31جمعه۱۸۱دقیقاً روز مبنا
۸2026-08-31دوشنبه۲۱۲دقیقاً روز مبنا
۹2026-09-30چهارشنبه۲۴۲به پایان ماه منتقل شد
۱۰2026-10-31شنبه۲۷۳دقیقاً روز مبنا
۱۱2026-11-30دوشنبه۳۰۳به پایان ماه منتقل شد
۱۲2026-12-31پنجشنبه۳۳۴دقیقاً روز مبنا
نکات اصلی
  1. هر نامزد از روز اصلی ۳۱ مشتق می‌شود، بنابراین ۲۸ فوریه باعث نمی‌شود مارس هم ۲۸ام تکرار شود.

  2. حالت پایان ماه هر رخداد کوتاه‌شده را در ستون «قاعدهٔ تاریخ» گزارش می‌کند.

  3. حالت رد کردن به جست‌وجوی ماه‌های نامزد ادامه می‌دهد تا تعداد تاریخ‌های واقعی درخواستی ساخته شود.

چگونگی کار

مراحل انجام کار

  1. تاریخ اول به‌عنوان مبنای تقویم میلادی خوانده می‌شود، سپس پیش از ساختن برنامه، فاصله و تعداد رخدادهای درخواستی به بازهٔ مجاز محدود می‌شوند.
  2. برای روزها و هفته‌ها، تعداد ثابتی روز تقویمی UTC اضافه می‌شود. برای ماه‌ها و سال‌ها، هر نامزد از سال، ماه و روز اصلی مشتق می‌شود، نه از نتیجهٔ قبلی.
  3. اگر ماه نامزد روز مبنا را نداشته باشد، دقیقاً مطابق انتخاب شما، یا از آخرین روز آن استفاده می‌شود یا آن نامزد کنار گذاشته می‌شود. این کار تا رسیدن به تعداد تاریخ‌های واقعی درخواستی ادامه می‌یابد.
  4. سطرها به‌صورت مؤلفه‌های جداگانهٔ VEVENT تمام‌روز طبق RFC ۵۵۴۵ نوشته می‌شوند. DTSTART خود تاریخ است، DTEND تاریخ بعدی است چون پایان رویداد تمام‌روز انحصاری است، و هر خط محتوا در ۷۵ اکتت UTF-۸ تا می‌شود.

فرض‌ها

  • تقویم میلادی و فقط تاریخ است. هیچ ساعتی از روز، منطقهٔ زمانی، تغییر ساعت تابستانی یا یادآوری‌ای برای استنباط وجود ندارد.
  • تاریخ اول رخداد شمارهٔ یک است. بنابراین دوازده تاریخ یازده فاصله دارد، نه دوازده.
  • حالت پایان ماه هرگز مبنا را تغییر نمی‌دهد. ۳۱ ژانویه می‌تواند ۲۸ فوریه شود و سپس به ۳۱ مارس برگردد، چون هر نامزد از روز اصلی ۳۱ مشتق می‌شود.
  • حالت رد کردن یک نامزد گمشده را رد می‌کند، نه یک فاصله را. در ماه‌ها یا سال‌های نامزد بعدی ادامه می‌دهد تا تعداد تاریخ‌های واقعی درخواستی فراهم شود.
  • سال‌های تقویمی بالاتر از ۹۹۹۹ را نمی‌توان با مقدار DATE چهاررقمی RFC ۵۵۴۵ نشان داد و تولید نمی‌شوند.

پرسش‌های رایج

چرا اضافه کردن مکرر یک ماه با استفاده از روز مبنا فرق دارد؟

اگر یک ماه به ۲۸ فوریه اضافه شود، همهٔ ماه‌های بعد می‌توانند روی ۲۸ بمانند. مشتق کردن هر تاریخ از مبنای اصلی ۳۱ ژانویه از این جابه‌جایی دائمی جلوگیری می‌کند.

برای ۲۹ فوریه در برنامهٔ سالانه چه می‌شود؟

حالت پایان ماه در سال‌های غیرکبیسه از ۲۸ فوریه استفاده می‌کند و در سال‌های کبیسه به ۲۹ فوریه برمی‌گردد. حالت رد کردن فقط سال‌هایی را شامل می‌شود که ۲۹ فوریه دارند.

منابع

روش کامل، مثال محاسبه‌شده و همهٔ فرض‌های این نتیجه در این صفحه آمده است: زمان‌بندی تاریخ‌های تکرارشونده.