c# - 给定 CEST(德国)中的 DateTime,需要知道 EST 时间(包括 DST)
问题描述
我正在编写一个 C# Windows 服务,它打开一个包含日期和时间列的文本文件。这两个都是在德国的 CEST 时间。我需要知道美国东部时间的这些时间。我不知道如何考虑双方的夏令时。有人可以指导我吗?我不知道怎么做。
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.
对于不同的时区,你可以检查这个问题
祝你好运。
推荐阅读
- node.js - AWS lambda html-pdf phantomjs“错误:在 NodeJS 12.x 上编写 EPIPE”
- spring-boot - Istio + Jaeger 使用 Spring Boot 跟踪 gRPC 调用
- javascript - .json() 用于错误处理是什么?
- html - 需要修复 JQuery 脚本以强制“href”从单击中按 CTRL+单击
- javascript - 翻转括号方向的 JavaScript 函数
- codeigniter-4 - 如何在codeIgniter4中使用默认构造函数?
- java - 根据 Maven 结果构建不同的 Docker 镜像(使用 Jenkins)
- elasticsearch - _update_by_query 不会更新所有匹配的文档
- python - 所有可能的 n 阶矩阵,其条目来自 python 中的某个范围
- html - 如何在水平导航栏中对齐浮动徽标