簡體   English   中英

EF Core 3.0,日期時間時區問題 C#

[英]EF Core 3.0, Datetime timezone issue C#

存儲在數據庫(postgresql)中的日期時間與時區(EST)一起,同時將值綁定到代碼,它被轉換為系統本地時間(IST),即使在嘗試使用轉換器將其作為字符串獲取時,值也會被轉換為本地時間並以字符串顯示

請幫助了解如何忽略模型構建器中的時區

protected override void OnModelCreating(ModelBuilder modelBuilder)
{
    modelBuilder.Entity<TblData>(entity =>
    {

        var converter = new ValueConverter<DateTime, DateTime>(
                   v => new DateTime(),
                   v => DateTimeOffset.Parse(v.ToString()).DateTime);

        var converter1 = new ValueConverter<string, DateTime>(
                   v => new DateTime(),
                   v => v.ToString());

        entity.Property(e => e.StartTime)
                               .HasColumnName("start_time")
                               .HasColumnType("timestamp(4) with time zone");
                               .HasConversion(converter);

        //both converters return value in localtime only
    }
}

a zone specific time conversion is not possible as the API layer is dealing with multiple timezone DB's and API is deployed in both Linux and windows server.

請幫忙 !!!

我通常設置db用戶的TZ。

ALTER ROLE my_db_user IN DATABASE my_database
    SET "TimeZone" TO 'UTC';

這會有用嗎?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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