یک برنامه C# بنویسید که از کنسول یک رشته تاریخ با فرمت 'dd-MM-yyyy HH:mm:ss' دریافت کند، آن را با استفاده از DateTime.ParseExact به DateTime تبدیل کند و سپس تاریخ را به فرمت ISO 8601 و شماره روز سال (DayOfYear) چاپ کند.
5.0 بازدید آخرین ویرایش در 221 روز قبل ساعت 01:34 0.0
برای حل مسئله از متد DateTime.ParseExact با الگوی "dd-MM-yyyy HH:mm:ss" و CultureInfo.InvariantCulture استفاده کنید (یا برای ایمنی بیشتر TryParseExact). پس از تبدیل، برای چاپ به فرمت ISO از date.ToString("o") و برای گرفتن شماره روز سال از date.DayOfYear بهره ببرید؛ همچنین از فضای نام System.Globalization برای CultureInfo و از Try/Catch یا TryParseExact برای مدیریت ورودیهای نامعتبر استفاده کنید. این تکنیک در پردازش دادههای علمی (تنظیم زمان برای تحلیل عددی)، اسکریپتنویسی اتوماسیون (پردازش لاگها) و توسعه وب (نرمالسازی تاریخهای ورودی کاربر) کاربرد دارد.
1 پاسخ
جدید ترین قدیمی ترین بالاترین امتیاز پاسخ های من
در حال بارگیری...
برای ارسال پاسخ باید با حساب کاربری وارد شوید.
ورود به حساب کاربری
نکته مفید: برای اعتبارسنجی ورودیها از DateTime.TryParseExact با الگوی 'dd-MM-yyyy HH:mm:ss' و CultureInfo.InvariantCulture استفاده کنید تا از ورود تاریخ با فرمت ناهمآهنگ جلوگیری شود. بررسی نتیجه بازگشتی و مدیریت خطا (با TryParseExact یا try-catch) باید انجام شود تا از کرش برنامه جلوگیری کند. چاپ ISO 8601 با date.ToString("o") و دریافت DayOfYear با date.DayOfYear انجام میشود؛ اگر به زمان و ناحیه زمانی دقیق نیاز دارید، استفاده از DateTimeOffset ترجیح داده میشود. با این رویکرد، فرمت ورودی و خروجی همخوانی بهتری با پردازشهای علمی یا اسکریپتهای لاگنویسی پیدا میکند.
گزارش