![](/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.