Chúng tôi đang phát triển một ứng dụng C# cho một khách hàng dịch vụ web. Điều này sẽ chạy trên Windows XP PC.Chuyển đổi giờ UTC/GMT thành giờ địa phương
Một trong các trường được dịch vụ web trả về là trường DateTime. Máy chủ trả về một trường theo định dạng GMT, tức là có dấu "Z" ở cuối.
Tuy nhiên, chúng tôi thấy rằng .NET dường như thực hiện một số loại chuyển đổi tiềm ẩn và thời gian luôn là 12 giờ.
Mẫu mã sau đây giải quyết vấn đề này ở một mức độ nào đó mà sự khác biệt 12 giờ đã biến mất nhưng nó không cho phép tiết kiệm ánh sáng ban ngày của NZ.
CultureInfo ci = new CultureInfo("en-NZ");
string date = "Web service date".ToString("R", ci);
DateTime convertedDate = DateTime.Parse(date);
Theo this date site:
UTC/GMT offset
múi giờ chuẩn: UTC/GMT 12 giờ
điều chỉnh giờ: +1 giờ khu
Thời gian hiện tại bù đắp : UTC/GMT +13 giờ
Làm cách nào để điều chỉnh thêm giờ? Điều này có thể được thực hiện theo chương trình hoặc là một số loại thiết lập trên PC?
'cái thời gian Z' đề cập đến UTC, không giờ GMT. Cả hai có thể khác nhau lên đến 0,9 giây. – mc0e