萬水千山ABP 時區問題

2022-08-24 11:15:13 字數 1411 閱讀 6675

關於時間和時區問題,後面的參考文章中有詳細的描述。

我遇到的問題是:

在mvc檢視頁面中,顯示記錄的生成時間 creationtime

@model.creationtime

我使用的是 utc 時間,頁面顯示的結果也確實是正確的utc時間,然而,但是,這不是我們所期望的本地時間。

萬水千山之後,找到了 abp 提供的幫助類 abp.timing.timezone.timezonehelper。

直接貼時區轉換**:

@using abp.timing.timezone;

@timezonehelper.convertfromutc(model.creationtime,timezoneinfo.local.id)

timezoneinfo.local.id  返回表示本地時區的 timezoneinfo 物件的id。system.timezoneinfo 類是 .net 類,和 abp 無關。

timezonehelper.convertfromutc 方法將utc時間轉為指定時區id的當地時間。

到這裡,你或許發現,好傻,把簡單問題搞複雜了。一點不錯,還不就是個時區轉換問題嗎,關 abp p 事。難怪abp的文件都不提怎麼在頁面中直接顯示本地時間。

好吧,其實,看 abp 的原始碼,timezonehelper.convertfromutc方法就一句**:

public

static datetime? convertfromutc(datetime? date, string

totimezoneid)

簡單一點,我的**就該是

@convert(model.creationtime, "utc", timezoneinfo.local.id)

簡單是簡單了,卻多了乙個 "utc",而且,而且,無關abp了 ......

另外,在 js 指令碼中,可使用 moment.js 實現,如顯示 abp 使用的例項**

moment(data.record.creationtime).format('yyyy-mm-dd hh:mm:ss')

再好好學習之後,我們發現,abp是支援多時區的。檢視 abp\timing\timezone\timezoneconverter.cs 原始碼檔案,發現它提供了幾個時間轉換函式.

下面列出它實現的介面的定義:

namespace

abp.timing.timezone

}

特此補充,以免誤導。後面有時間再補充......

參考:abp timing

YTU 3269 萬水千山粽是情

西晉新平太守周處所著 風士記 有云 仲夏端午,烹鶩角黍。這裡說的角黍,就是粽子。每年農曆五月初,中國百姓家家浸糯公尺 洗粽葉 包粽子,花色品種繁多。從餡料看,北方多包小棗的北京棗粽 南方則有豆沙 鮮肉 八寶 火腿 蛋黃等多種餡料。看餓了吧?臨近端午節,食堂的粽子大 買三送一,買五送二。現在你想用手裡...