![](/img/trans.png)
[英]Set global culture for DateTimeOffset Format etc on .Net Core Console App
[英]set global timezone in .net core
在.Net Core 2中-
有没有一种方法可以全局设置应用程序的时区,以便每当我请求DateTime.Now
我都会获取我想要的时区的当前时间(让我们说GMT + 3),而不是托管应用程序的服务器的时间?
我发现进行配置的好地方,这将是Startup.cs文件,但是我的搜索查询使我无处可做。
您可以为此使用TimeZoneInfo
DateTime eastern = TimeZoneInfo.ConvertTimeBySystemTimeZoneId(DateTime.Now, "Eastern Standard Time");
替换为所需的时区。
没有。
DateTime.Now
始终返回系统本地时区中的时间。
一种方法是让包装器请求当前日期时间,例如
public static class MyTimeZone
{
public static DateTime Now => DateTime.UtcNow.AddHours(3);
}
你可以要求这样的时间
MyTimeZone.Now
如果时区是动态的,只需将其更改为函数即可。
public static class MyTimeZone
{
public static DateTime Now(int offset) => DateTime.UtcNow.AddHours(offset);
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.