アプリケーション全体のユニバーサル タイムゾーンを設定するにはどうすればよいですか。
そのため、タイムゾーンが変更された場合でも、アプリケーションはユニバーサル タイムゾーンに従って時間を表示する必要があります。
アプリケーション全体のタイムゾーンを設定することは可能ですか?
最適なオプションはlocalization
、希望するタイムゾーンで DateTime を返すクラスを作成することです。DateTime.Now
アプリケーションでは、日付と時刻を表示する場合ではなく、このクラスを使用する必要があります。
class Localization
{
public Localization(string timeZoneId = "UTC")
{
TimeZone = TimeZoneInfo.FindSystemTimeZoneById(timeZoneId);
}
public virtual TimeZoneInfo TimeZone { get; set; }
public DateTime Now
{
get
{
return TimeZoneInfo.ConvertTime(DateTime.UtcNow, TimeZone)
}
}
}
アプリケーションで静的なタイムゾーンが 1 つだけ必要な場合は、上記のクラス シングルトンを作成できます。
var locale = new Localization(); // default is UTC, provide yours.
var now = locale.Now;