TimeZoneInfo.ConvertTimeFromUtc returned wrong DateTime
问题 I called method: TimeZoneInfo.ConvertTimeFromUtc(DateTime.Now.ToUniversalTime(), TimeZoneInfo.FindSystemTimeZoneById("GMT Standard Time")) // UTC+0 It is returned DateTime for one hour larger than the correct DateTime. Why? How will it fix? Returned value should be equal DateTime.Now.ToUniversalTime() 回答1: UTC is equal to GMT. But currently we're in BST due to summer, which is GMT + 1. GMT Standard Time automatically adjusts for daylight savings. Use Greenwich Standard Time , rather than GMT