. net时区从环境变量



我希望设置一个'Timezone'环境变量,它将由。net可执行文件选择,而不是默认的。

具体来说,TimeZone.CurrentTimeZone()将返回覆盖的时区信息,而不是默认的。

我知道这可以在c++中完成,使用'TZ'变量。在。net中也可能吗?

很抱歉没有更清楚地说明这一点:我没有访问源代码。基本上,我想要的是运行一个可执行文件,让它认为时区不是机器的默认时区。

具体来说,timezone . currenttimezone()将返回覆盖的时区信息,而不是默认的。

这会很棘手。

传递系统时区ID并使用TimeZoneInfo.FindSystemTimeZoneById的侵入性可能小得多。然后显式地在每次需要"默认时区"时使用它,而不是依赖于实际的系统默认时区。

基本上你应该尽可能放弃TimeZone。与TimeZoneInfo相比,它的功能很差。(我个人也会放弃TimeZoneInfo并使用我的Noda Time项目,但这是一个稍微不同的问题;)

环境。GetEnvironmentVariable方法允许您从。net代码检索任何环境变量的值。但是,您必须首先使用外部机制来设置环境变量,而且变量的值可以是任何字符串,因此您必须验证获得值的格式。

您可以使用System.Environment.GetEnvironmentVariable("Timezone")方法获取环境变量

相关内容

  • 没有找到相关文章

最新更新