我正在编写一个C#Windows服务,该服务打开具有日期和时间列的文本文件。这两者都在德国的时光。我需要知道EST中的这些时间。我也不知道如何在双方的日光节省时间内进行考虑。有人可以指导我吗?我不知道如何。
lsRetrievedDateTime = cellvalues[10] + " " + cellvalues[11];
ldRetrievedDateTimeCEST = DateTime.ParseExact(MyDateString, "M/dd/yyyy H:mm:ss", null);
// ldRetrievedDateTimeCEST is actually Germany time and we need to convert it to EST.
您可以使用TimeZoneInfo
和DateTimeOffset
lsRetrievedDateTime = cellvalues[10] + " " + cellvalues[11];
ldRetrievedDateTimeCEST = DateTime.ParseExact(MyDateString, "M/dd/yyyy H:mm:ss", null)
//Create a TimeZoneInfo Object and set TimeZone
var info = TimeZoneInfo.FindSystemTimeZoneById("Eastern Standard Time");
//Create DateTimeOffSet object with TimeZoneInfo and DateTime as parameters.
DateTimeOffset est_time = TimeZoneInfo.ConvertTime(ldRetrievedDateTimeCEST , info);
//Now you can use est_time
MessageBox.Show(est_time.ToString()); //will return EST time.
对于不同的时区,您可以检查此问题
祝你好运。