分割處理datetime型別資料

2021-09-24 06:10:37 字數 1579 閱讀 9375

對於與時間所對應的資料字段,在資料庫中所使用的資料型別一般都是datetime。用datetime所儲存的時間資料格式是這樣的:2016-12-28 17:04:21.447

問題一:一般來說,除非是客戶的特別要求,最常用的也只是用到年月日 - 時分秒這類的時間資料,即datetime儲存的前半截資料,時間中的毫秒資料很少會用到,這樣的話就需要將資料庫中所儲存的資料進行分割,不需要毫秒值的話便通過方法過濾掉。

問題二:在資料庫中以datetime型別儲存的資料,在控制器中查詢出來,反饋給頁面的時間資料是這個樣子的:

在資料庫中錄入的資料本就不是這種格式的,而是按年月日時分秒的順序排列的。為什麼將資料從資料庫中的提取出來,放到頁面上後順序就亂了呢?為此,我還專門在網上查詢為何會出現該問題的原因。查到的原因是:因為外國人對時間的使用格式與我們的不一致所導致的,通俗的講,是因為不同的歷史文化習俗所導致的。外國人對時間的使用格式和上圖所顯示的一致,月份與天數放最前,而年份則靠後顯示,最後再輪到時間,am與pm則是為了區分上午與下午的時間段。畢竟sql資料庫以及 asp.net.mvc都是外國人開發出來的,身為使用者的我們唯有尊重別人的文化成果,淡然接受。

當然,接受並不等於就一定要以這種格式的資料去顯示時間,要想辦法將年份前置,並且把am的顯示去掉,恢復成我們所需要的時間格式。首先要做的自然是先在控制器中對提取出來的時間資料進行順序調整,接著再到頁面定義個方法,通過該方法分割從控制器傳遞的時間資料,最後再對處理後的資料逐個的繫結到頁面的相應單元格中便可。

第一步:對時間格式進行順序調整

strissuancetime = tbcertificate.issuancetime.tostring(),

starttime = tbachievement.sttime.tostring(),

在獲取資料庫中的資料時一般都要通過linq語法來查詢出相應的資料,而在查詢方法中便可以對獲取到的時間進行首次處理,在獲取到的資料後加上tostring()方法,使原本為datetime型別的資料格式轉化為字串型別。

第二步:定義方法接收資料並對它進行分割處理

function certifkicate(data)

第三步:緊接以上方法繼續,將處理後的資料逐一繫結到單元格中

$("#studentname").text(studentname);

$("#sttime").text(sttime1[0] + sttime1[1] + sttime2[0]);

$("#issuancetime").text(istime[0] + istime[1] + istime2[0]);

完成以上步驟後,啟動專案檢視結果如何,資料的格式是否會按照所需的格式進行顯示:

python處理datetime型別的時區轉換

需求 資料庫庫中的資料是按照utc時間進行儲存 所以取出來顯示給使用者 需要處理一下時區 關於pytz包 import pytz,datetime tz0 pytz.timezone europe brussels 獲取比利時時區 tz pytz.timezone asia shanghai 獲取上...

DateTime型別轉換

日期和時間資料型別代表日期和一天內的時間,包括datetime型和smalldatetime型。我們這裡使用的是dtatetime型別,第一把datetime型別轉換為string型別 名稱自定義,定義好了時間string型別,之後就在get裡面定義時間格式。如下 public string str...

DATETIME型別和BIGINT 型別互相轉換

專案中使用bigint來存放時間,以下 用來轉換時間型別和bigint型別 set ansi nulls on goset quoted identifier on go author gga create date 2013 03 28 description 將時間型別轉化成bigint,返回指...