我有一些日期时间用于跟踪我的应用程序。它们都是以协调世界时 (UTC) 的形式存在的。对于我的应用程序的某个部分,我想发送一封电子邮件,并编辑其中一个时间,使其处于特定的时区。
我仅需要处理两个主要时区,即东海岸和得克萨斯州(达拉斯和休斯顿)
当我发送这封电子邮件时,我也可以创建一个新的日期时间,以获取东部标准时间 (DateTime timestamp = DateTime.Now;
)
我的问题是:
如果用户在德克萨斯州地区,我该如何将我的时间从东部时区转换为那里的时间(少1小时)?
我尝试了类似以下的内容:
//Convert timestamp to local time
TimeSpan ts = TimeZone.CurrentTimeZone.GetUtcOffset(timestamp);
timestamp.Add(ts);
timestampString = timestamp.ToString();
但是那并不起作用。我也知道这一行是无效的:
timestamp.Hour = timestamp.Hour - 1;