我的應用程序以UTC獲取DateTime對象,並且需要以EST格式輸出爲字符串。我試着下面的代碼,但是當我得到的輸出偏移仍顯示爲+00:00改爲-05:00使用正確的偏移量將UTC日期時間轉換爲EST日期時間
static void Main(string[] args)
{
var currentDate = DateTime.Now.ToUniversalTime();
var convertedTime = ConvertUtcToEasternStandard(currentDate);
Console.WriteLine(currentDate.ToString("yyyy-MM-ddTHH:mm:sszzz"));
Console.WriteLine(convertedTime.ToString("yyyy-MM-ddTHH:mm:sszzz"));
}
private static DateTime ConvertUtcToEasternStandard(DateTime dateTime)
{
var easternZone = TimeZoneInfo.FindSystemTimeZoneById("Eastern Standard Time");
return TimeZoneInfo.ConvertTimeFromUtc(dateTime, easternZone);
}
此輸出:
2016-11-18T06:56:14+00:00
2016-11-18T01:56:14+00:00
等時機被正確地移動,但是當我希望它是-05:00時,偏移保持在+00:00。任何想法如何使用上述格式字符串輸出時使用正確的偏移量獲取DateTime對象?
你是在UTC時間,通過任何機會呢? –
是的,英國目前在UTC時間 – Ruddles
這就是你的問題。添加了一個答案。 –