首页 > 解决方案 > 如何在不更改机器时区和编写时区转换代码的情况下获取 EST 日期时间?

问题描述

我的机器时区是 IST,因此当我签DateTime.Now入 C# 时,它将始终显示该时区的当前日期时间。当我这样做时,我必须在 EST 中获取日期时间DateTime.Now。我不想更改机器的时区,也不想使用时区 ID 将当前日期时间转换为 EST 编写时间转换代码。

原因是我在文章的某处读到,当您更改当前文化时,系统会以这种方式运行,因此DateTime.Now也应该在 EST 中给我日期。如果我错了,请纠正我。

标签: c#.netdatetimetimezonecurrentculture

解决方案


原因是我在文章的某处读到,当您更改当前文化时,系统会以这种方式运行,因此 DateTime.Now 也应该在 EST 中给我日期。如果我错了,请纠正我。

好的,我会纠正你的。你错了(对不起)。

DateTime.Now始终根据操作系统的本地时区设置返回本地时间。它不受CurrentCulture. 更改当前文化会影响从 a 创建字符串时使用的显示格式和日历系统DateTime,但不会影响其DateTime本身,因此也不会影响时区。

通常,文化或区域设置与时区正交。例如,如果我是一个说英语的美国人,暂时访问日本,我的文化可能是en-US,我的时区可能是Tokyo Standard Time


推荐阅读