真實(shí)踩坑記
時(shí)間差值統(tǒng)計(jì)出現(xiàn)ms級(jí)負(fù)值
數(shù)據(jù)庫字段類型為datetime,存儲(chǔ)如:“2020-03-04 12:22:21”
方法中采用(new Date()).getTime()進(jìn)行比較,表中記錄缺少ms級(jí)數(shù)值,導(dǎo)致比較存在誤差
解決方案:表結(jié)構(gòu)字段設(shè)計(jì)制定datetime位數(shù),datetime(3)
數(shù)據(jù)樣例:“2020-04-08 20:38:09.620”
原理
Mysql中經(jīng)常用來存存儲(chǔ)日期的數(shù)據(jù)類型有三種:Date、Datetime、Timestamp。
Date數(shù)據(jù)類型度:用來存儲(chǔ)問沒有時(shí)間的日期。Mysql獲取和顯示這個(gè)類型的格式為“YYYY-MM-DD”。支持的時(shí)間范圍為“1000-00-00”到“9999-12-31”。
Datetime類型答:存儲(chǔ)既有日期又有時(shí)間的數(shù)據(jù)。存儲(chǔ)和顯示的格式為 “YYYY-MM-DD HH:MM:SS”。支持的時(shí)間范圍是“1000-00-00 00:00:00”到“9999-12-31 23:59:59”。
Timestamp類型:也是存儲(chǔ)既有日期又有時(shí)間的數(shù)據(jù)。存儲(chǔ)和顯示的格式跟回Datetime一樣。支持的時(shí)間范圍是“1970-01-01 00:00:01”到“2038-01-19 03:14:07”。