日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

easyexcel 日期类型 convert_数据库的几种日期时间类型,你真的会用吗?

發布時間:2024/9/27 数据库 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 easyexcel 日期类型 convert_数据库的几种日期时间类型,你真的会用吗? 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

日期和時間是每個系統,每個數據庫設計必不可少的部分。也是容易被大家忽視的部分。很多開發者可能根本不了解以不同類型存儲日期和時間意味著什么。

有朋友可能會說,數據庫定義一個datetime或timestamp類型的字段,然后在Java代碼中獲取當前時間并存入數據庫不就可以了嗎?

Date now =

最近設計新系統的數據庫,涉及到跨時區的問題,于是專門調研了不同日期時間類型的利弊,也咨詢了不少同行使用的情況。這里分享給大家。

常見的日期時間使用情況有如下幾種:字符串、Datetime、Timestamp、Unix timestamp。如果將日期和時間具體拆分細化又可包含DATE、TIME、YEAR,這部分我們這里暫且不過多討論。

字符串存儲日期

把日期和時間當做一個字符串進行存儲,進而將日期和時間拆分成兩個字段,一個字段記錄日期(如yyyy-MM-dd),另外一個字段存儲時間(如:HH:mm:ss)的形式。

此種方式就不多說,除非極個別的場景,不建議使用。當使用此種方式進行處理日期,不僅性能有問題,比較、處理、取范圍等都是麻煩事。

之所以提出這種方式,也是提醒大家,如果你的數據庫日期字段還在用字符串存儲,需要慎重考慮一下了。

DateTime類型

DateTime類型存儲的值既有日期又有時間。我們直觀看到的格式為:yyyy-MM-dd HH:mm:ss。它支持的時間范圍是“1000-00-00 00:00:00”到“9999-12-31 23:59:59”。

但DateTime中并未存儲時區信息,只存儲了本地時間。也就是說:如果你將服務器的時區進行修改,數據庫中記錄的日期和時間并不會對應的變化。

那么,讀出的數據與新存儲的數據便是不一致的,也可以說是錯誤的。

通常,針對此種情況,如果涉及到跨時區問題,可考慮單獨用一個字段來存儲時區。

Timestamp類型

Timestamp類型:也是既有日期又有時間的數據。存儲和顯示的格式跟Datetime一樣。支持的時間范圍是“1970-01-01 00:00:01”到“2038-01-19 03:14:07”。

Timestamp類型不僅存儲了日期和時間,還存儲了時區信息。如果以Timestamp類型存儲,各數據庫的實現會有所不相同,有的進行了內部時區自動轉換。

如果應用服務器的時區和數據庫服務器的時區不一致,你無法確定數據庫驅動程序會不會自動幫你轉換。

同時,時間范圍是Timestamp硬傷。

Unix timestamp

由于時區問題,地球上不同地方的人看到太陽升起的時間是不一樣的。比如歐洲和北京時差有6-7個小時,當早上8點在北京看到太陽時,歐洲還處于凌晨1-2點。

除了上面所說的通過Timestamp類型存儲包含時區的日期和時間外,還可以通過“絕對時間”來進行計算,單位為秒。

在計算機中,當前時間是指從一個基準時間(1970-1-1 00:00:00 +0:00)到現在的秒數,用一個整數表示。

在Java編程語言中我們可以通過如下兩種方式(這里單位為毫秒)獲取:

System.current

那么,我們只需要將表示絕對時間的時間戳通過Long類型或float類型保存到數據庫中,當不同時區使用時直接格式化成對應的字符串就可以了。對應數據庫類型為Bigint或float。

關于使用絕對時間戳的好處有以下幾項:

1、數據存儲的時區問題不存在了,只是一個絕對的數值。

2、比較時也很簡單,只用比較兩個數值的大小或范圍即可,范圍可采用between(?, ?)形式的SQL。

3、顯示問題也很容易處理,各個展示端,只需要根據所在時區對數值進行轉換即可,即便是JavaScript也能正常處理。

有朋友可能會說,數據庫的可讀性太差。在調研時我也遇到類似的疑問,后來咨詢了架構師的朋友,他說mysql提供了豐富的函數,可以進行轉換。

上圖中,數據庫存儲的是毫秒數,通過FROM_UNIXTIME函數,在查詢時將其轉換成指定格式即可。如果你的數據庫存儲的單位為秒,則在SQL中無需除以1000。

關于日期時間的其他事項

為了調研數據庫日期和時間的設置,也參考了阿里的開發手冊,令人疑惑的是阿里使用的竟然是datetime類型。

后來跟PayPal的朋友溝通之后,便豁然開朗了。他說:阿里的開發手冊在我們公司只做參考。

的確如此,畢竟每個公司的業務范圍不同,使用場景也不同。優秀的理念可以參考,但不能照搬。就好比本篇文章,介紹了不同類型的日期和時間存儲,而根據你的業務場景選擇最適合的那便是最好的。

我這里最終決定用絕對時間戳來進行處理。

推薦閱讀

  • 為什么新出的《阿里Java開發手冊》都要讀一讀?

  • Idea自動生成代碼神器EasyCode,讓你如虎添翼

  • 偷看了隔壁老王的文章,發現String拼接另有天地

  • 聊聊工作

程序新視界一個“軟實力”,“硬技術”同步成長的公眾號長按識別二維碼,關注公眾號

總結

以上是生活随笔為你收集整理的easyexcel 日期类型 convert_数据库的几种日期时间类型,你真的会用吗?的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 夜夜天天操 | 国产一级视频 | 中文字幕无码乱码人妻日韩精品 | 狠狠搞av | 男女视频免费观看 | 极品久久久久久 | 毛毛毛片 | 中国黄色片视频 | 91肉色超薄丝袜脚交一区二区 | 免播放器在线视频 | 看了下面会湿的视频 | 在线免费观看污视频 | 18岁免费观看电视连续剧 | 乱色精品无码一区二区国产盗 | 激情婷婷久久 | 自拍偷拍福利 | 国产刺激对白 | 色欧美色 | 51ⅴ精品国产91久久久久久 | 亚洲精品国产精品乱码 | 美女131爽爽爽 | 国产精品国产三级国产在线观看 | 国产一区二区三区视频播放 | 亚洲永久免费网站 | 久久久久一区二区 | 人妻激情偷乱频一区二区三区 | youjizz.com在线观看 | 一区二区三区视频免费看 | 亚洲精品无码久久久久久久 | 久久亚洲精少妇毛片午夜无码 | 变态另类ts人妖一区二区 | 国产精品美女www爽爽爽视频 | 日韩 欧美| 无码人妻一区二区三区在线 | 天天干天天日 | 99亚洲天堂| 一区二区三区伦理片 | 国产一区二区三区成人 | 黄色三级三级三级三级 | 男人天堂黄色 | 国产婷婷色一区二区三区在线 | 一级黄色大片免费看 | 性少妇videosexfre | 亚洲啪 | www.久久.com | 日日噜噜夜夜狠狠久久波多野 | 成人网战| 91精品色 | av免费视屏 | 日韩美女毛片 | 天天做天天射 | 国产极品美女高潮无套嗷嗷叫酒店 | 精东影业一区二区三区 | 青青青手机视频在线观看 | 三级影片在线免费观看 | 色网站女女 | 亚洲女人天堂网 | 亚洲国产三级 | 亚洲第一视频区 | 性巴克成人免费网站 | 国产在线专区 | 亚洲裸体网站 | 久久久久久久久久综合 | 99精品视频在线播放免费 | 91网入口 | 天天插天天插 | 伊人黄| 50部乳奶水在线播放 | 久久精品视频在线 | 国产伦精品一区二区三区四区免费 | 无码人妻少妇色欲av一区二区 | 亚洲天堂日本 | 银杏av | 好逼天天操 | 国产网站在线免费观看 | 国产欧美视频一区二区三区 | 精品亚洲永久免费精品 | 亚洲AV无码成人精品区先锋 | 俺来也在线视频 | 夜夜爽av福利精品导航 | 91素人约啪 | 国产精品传媒视频 | av网站免费播放 | 黑人日批视频 | 97在线免费 | 免费在线精品视频 | 免费一级做a爰片久久毛片潮 | 又黄又爽又刺激的视频 | 日韩精品视频网站 | 操到喷水 | 久热色| 欧美多人猛交狂配 | 午夜av中文字幕 | 男女洗澡互摸私密部位视频 | 男人天堂b | 欧美一区二区三区系列电影 | 免费av大全 | 91视频论坛 | 麻豆久久久久久久 |