簡體   English   中英

在.net核心中設置全局時區

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM