Dalam pembangunan perisian, pengendalian operasi tarikh dan masa yang tepat adalah penting. Ini termasuk mencipta dan memanipulasi objek DateTime dalam zon waktu tertentu. Dalam C#, pembina DateTime menyediakan pilihan terhad untuk menetapkan zon waktu. Untuk mengatasi pengehadan ini, artikel ini meneroka cara menggunakan kelas TimeZoneInfo untuk mencipta objek DateTime dengan zon waktu tertentu (seperti PST).
Adalah disyorkan untuk menggunakan kelas TimeZoneInfo dalam ruang nama System.TimeZone dan bukannya bergantung pada pilihan zon waktu terbina dalam pembina DateTime. TimeZoneInfo menyediakan set lengkap sifat dan kaedah untuk menangani zon waktu.
Untuk mengendalikan DateTime dengan lancar dalam zon waktu yang berbeza, sila pertimbangkan untuk melaksanakan struktur tersuai berikut:
<code class="language-csharp">public struct DateTimeWithZone { private readonly DateTime utcDateTime; private readonly TimeZoneInfo timeZone; public DateTimeWithZone(DateTime dateTime, TimeZoneInfo timeZone) { var dateTimeUnspec = DateTime.SpecifyKind(dateTime, DateTimeKind.Unspecified); utcDateTime = TimeZoneInfo.ConvertTimeToUtc(dateTimeUnspec, timeZone); this.timeZone = timeZone; } public DateTime UniversalTime { get { return utcDateTime; } } public TimeZoneInfo TimeZone { get { return timeZone; } } public DateTime LocalTime { get { return TimeZoneInfo.ConvertTime(utcDateTime, timeZone); } } }</code>
Struktur ini membolehkan anda menggunakan objek DateTime dalam UTC dan menukarnya dengan mudah kepada zon waktu yang berbeza untuk paparan atau pemprosesan. Ia menyediakan sifat untuk Waktu Universal (UTC), maklumat zon waktu dan waktu tempatan berdasarkan zon waktu yang ditentukan.
Untuk mencipta objek DateTime dalam PST, anda boleh menggunakan kod berikut:
<code class="language-csharp">var pstTimeZone = TimeZoneInfo.FindSystemTimeZoneById("Pacific Standard Time"); var pstDateTime = new DateTimeWithZone(DateTime.Now, pstTimeZone);</code>
Ini mencipta objek DateTimeWithZone yang mewakili tarikh dan masa semasa dalam zon waktu PST. Anda kini boleh mengakses maklumat masa UTC, masa PST dan zon waktu dengan mudah mengikut keperluan.
Atas ialah kandungan terperinci Bagaimana untuk Mencipta Objek DateTime dalam Zon Masa Tertentu (mis., PST) dalam C#?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!