✍️ بعد از تبدیل تاریخ به شیء date، مقایسهها معنای زمانی روشن دارند. لازم نیست سال، ماه و روز را جدا با شرطهای تو در تو بررسی کنیم. خود date ترتیب را درست میسنجد و نتیجه را میتوانیم دوباره با isoformat به رشته استاندارد برگردانیم.
مثلاً بین 2026-01-03 و 2025-12-31، دومی زودتر است، حتی اگر شماره روزش بزرگتر باشد. مقایسه فقط روز ماه یا جمع عددهای تاریخ غلط است. برای تاریخهای برابر، همان تاریخ را خروجی میدهیم؛ اینجا هویت منبع یا ترتیب ورودی تاثیری بر نتیجه ندارد.
تابع ناقص هر دو تاریخ را خوانده است. زودتر را انتخاب کن و به شکل دقیق ISO بده. در این فعالیت هر دو رشته از قبل معتبر و دقیقاند؛ اعتبارسنجی داده خراب را در گامهای بعد انجام میدهیم. خطای رایج، برگرداندن خود شیء date است؛ معیارها خروجی JSON میخواهند و باید رشته تحویل بگیرند. همچنین از تاریخ امروز استفاده نکن؛ سؤال فقط درباره دو آرگومان ثابت است. نمونهای که سالها متفاوتاند و نمونهای که دو تاریخ برابرند، بررسی خوبی برای منطق انتخاب تو هستند.
فعالیت شما
تابع earlier_date(first,second) دو رشته معتبر دقیق YYYY-MM-DD میگیرد و تاریخ زودتر را به صورت رشته ISO برمیگرداند. در تساوی همان تاریخ بده. ورودی نامعتبر در این گام داده نمیشود؛ earlier_date('2026-01-03','2025-12-31')='2025-12-31'. خروجی باید رشته باشد، نه شیء date.