یک برنامهٔ C# بنویسید که یک لیست از رشتههای تاریخ با فرمتهای گوناگون (مثلاً "dd/MM/yyyy", "yyyy-MM-dd HH:mm", "MM-dd-yyyy") را گرفته، با استفاده از DateTime.TryParseExact آنها را به DateTime تبدیل کند، زمانهای نامعتبر را گزارش کند و برای تاریخهای معتبر اختلاف زمانی تا تاریخ فعلی را محاسبه و چاپ کند.
3.0 بازدید آخرین ویرایش در 221 روز قبل ساعت 01:27 0.0
برای حل این مسأله در C#، یک آرایه از فرمتهای احتمالی تعریف کنید و برای هر رشته از DateTime.TryParseExact (قابلاً با overload که آرایه فرمتها، CultureInfo.InvariantCulture و DateTimeStyles را میپذیرد) استفاده کنید؛ اگر تبدیل موفق بود با DateTime.Now اختلاف (TimeSpan) را محاسبه و روز/ساعت را چاپ کنید و در غیر این صورت پیام خطای معتبر نبودن تاریخ را نشان دهید. نکات: از Trim برای پاکسازی ورودی استفاده کنید، از CultureInfo.InvariantCulture یا CultureInfo.CurrentCulture بسته به نیاز وب/اسکریپت بهره ببرید، و در سناریوهای واقعی زمانبندی به زون زمانی (UTC/local) دقت کنید — این روش برای پردازش لاگها (Automation/Scripting)، اعتبارسنجی ورودیهای وب (Web Development) و تحلیل دادههای زمانی در محاسبات عددی (Scientific Computing) مناسب است.
1 پاسخ
جدید ترین قدیمی ترین بالاترین امتیاز پاسخ های من
در حال بارگیری...
برای ارسال پاسخ باید با حساب کاربری وارد شوید.
ورود به حساب کاربری
برای پردازش لیستی از رشتههای تاریخ با فرمتهای مختلف، تعریف آرایهای از فرمتها و استفاده از DateTime.TryParseExact با آن آرایه، CultureInfo.InvariantCulture و DateTimeStyles مناسب است. برای دقت زمانی در لاگها یا پردازشهای زمانی، بهتر است تاریخها را به UTC تبدیل کنید و از DateTimeStyles.AdjustToUniversal یا AssumeUniversal استفاده کنید. ورودیها را با Trim پاکسازی کنید و اگر TryParseExact ناموفق بود، پیام معتبر نبودن تاریخ را گزارش دهید. برای کارایی، فرمتهای ممکن را ثابت نگه دارید و از همان CultureInfo.InvariantCulture بهره ببرید تا تخصیص و تبدیلهای مکرر کاهش یابد.
گزارش