【发布时间】:2018-12-27 17:54:50
【问题描述】:
我正在尝试将日期转换为 UTC 格式,以便获得正确的偏移量。我在简单的DateTime.Now 中使用ToString("O"),它有效。
现在,当我将当前时间 (EST) 转换为 CST(中部)或 MST(山区)时,我没有得到偏移。我在这里想念什么?还有其他方法吗?
代码:
var currentTimeToUtc = DateTime.Now.ToString("O");
// Output = "2018-12-27T12:31:21.9946661-05:00" --This is perfect.
var centralTime = TimeZoneInfo.ConvertTimeBySystemTimeZoneId(DateTime.Now, "Central Standard Time");
var centralTimeToUtc = centralTime.ToString("O");
// Output = "2018-12-27T11:31:19.8046052"
// Expected Output = "2018-12-27T11:31:19.8046052-06:00"
var mountainTime = TimeZoneInfo.ConvertTimeBySystemTimeZoneId(DateTime.Now, "Mountain Standard Time");
var mountainTimeToUtc = mountainTime.ToString("O");
// Output = "2018-12-27T10:31:25.2438418"
// Expected Output = "2018-12-27T10:31:25.2438418-07:00"
【问题讨论】: