前一陣子做了乙個qt的專案,然後資料庫中顯示的是13位的bigint型的資料,但在qtablewidget中需要顯示帶毫秒級的時間格式,所以多方查詢,以防下次用到,就記錄下。
(1).qdatetime轉換成qstring
qdatetime datatime;
qstring starttime;
starttime=datatime.
tostring
("yyyy-mm-dd hh:mm:ss"
);
(2).qstring 轉換成qdatetime
qdatetime datatime;
qstring starttime;
datatime= qdatetime:
:fromstring
(starttime,
"yyyy-mm-dd hh:mm:ss"
);
(1)年月日時分秒轉換成13位時間戳
資料庫中的時間是13位bigint型資料:1552535825000,轉換成時間模式,介面顯示:2019-03-14 11:57:05。
qdatetime starttime_d=qdatetime:
:fromstring
(starttime,
"yyyy-mm-dd ");
unsigned long starttime_l=starttime_d.
totime_t()
; starttime_l=starttime_l*
1000
+starttime_d.
time()
.msec()
; qstring starttime_i=qstring:
:number
(starttime_l,10)
;
(2)13位時間戳轉換成年月日時分秒毫秒
介面顯示:2019-03-14 11:57:05,存到資料庫中的時間是13位bigint型資料:1552535825000。
qstring time_sec;
qstring actingtime;if(
(actingtime.
tolonglong()
%1000
)<10)
elseif(
(actingtime.
tolonglong()
%1000
)>=
10&&
(actingtime.
tolonglong()
%1000
)<
100)
elseif(
(actingtime.
tolonglong()
%1000
)>=
100&&
(actingtime.
tolonglong()
%1000
)<
1000
) qstring time_str =
qstring
("%1:%2").
arg(qdatetime:
:fromtime_t
((actingtime.
tolonglong()
)/1000).
tostring
("yyyy-mm-dd hh:mm:ss"))
.arg
(time_sec)
;
將10位和13位時間戳轉換為時間
請求帶有時間戳請注意,yy mm dd hh mm ss是12小時制格式。yy mm dd hh mm ss是24小時制格式。差別巨大 將10 or 13 位時間戳轉為時間字串 convert the number 1407449951 1407499055617 to date time form...
JS 10位 13位時間戳轉日期
注意 下面的date可以加個判斷是10位時間戳還是13位時間戳來進行編碼是否需要 1000 param為你要轉換的時間戳變數 if param.length 10 else if param.length 13 let date new date parseint res.data.rows i t...
從13位時間戳中取對應日期
最近專案中遇到乙個小問題,在資料庫存的時間戳為13位,我在mysql只能轉10位,而我想要的只是13位時間戳對應時間的日期 月 日。在這裡我用到了幾個函式 round 四捨五入 因為最後三位對應的是毫秒時間,向上向下取整沒有實際作用,但是使用哪個都可以 from unixtime 將時間戳格式化 e...