یک برنامهٔ کنسولی ساده به زبان C# بنویسید که با استفاده از DateTime.UtcNow زمان شروع و پایان یک عملیات شبیهسازیشده را ضبط کند، مدت زمان اجرای آن را محاسبه و نتیجه را هم به صورت زمان UTC و هم به زمان محلی نمایش دهد.
8.0 بازدید آخرین ویرایش در 202 روز قبل ساعت 02:28 0.0
برای حل این مسئله یک برنامهٔ کنسول ساده بنویسید: قبل از اجرای عملیات مقدار start = DateTime.UtcNow بگیرید و بعد از اتمام مقدار end = DateTime.UtcNow را ثبت کنید؛ سپس با end - start یک TimeSpan بهدست آورده و از ویژگیهایی مثل TotalSeconds یا ToString برای فرمت خروجی استفاده کنید. برای نمایش زمان محلی از end.ToLocalTime() یا start.ToLocalTime() استفاده کنید؛ توصیه میشود برای دقت بیشتر در اندازهگیری زمانهای کوتاه از Stopwatch استفاده کنید و همیشه برای اپلیکیشنهای چندمنطقهای زمان را بهصورت UTC نگهدارید تا مسائل مربوط به منطقه زمانی و تغییر ساعت تابستانی کاهش یابد.
1 پاسخ
جدید ترین قدیمی ترین بالاترین امتیاز پاسخ های من
در حال بارگیری...
برای ارسال پاسخ باید با حساب کاربری وارد شوید.
ورود به حساب کاربری
برای دقت اندازهگیری مدتزمان عملیات، بهتر است از Stopwatch استفاده کنید تا تغییرات کار سیستم روی اندازهگیری اثر نگذارد، هرچند ثبت زمان با DateTime.UtcNow هم برای ثبت رویدادها مناسب است. نتیجه با تفاضل پایان و آغاز بهدست میآید و میتوانید TotalMilliseconds یا ToString() را برای فرمت خروجی بهکار ببرید. برای نمایش زمان محلی از end.ToLocalTime() یا تبدیل UTC با TimeZoneInfo/DateTimeOffset استفاده کنید تا خطاهای منطقهای کاهش یابد. در صورت اجرای همزمان یا عملیات کوتاه، اطمینان یابید که اندازهگیری حول کل عملیات باشد و زمان را بهصورت UTC نگه دارید تا تغییرات DST تأثیری نداشته باشد.
گزارش