日韩性视频-久久久蜜桃-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_数据库的几种日期时间类型,你真的会用吗?的全部內容,希望文章能夠幫你解決所遇到的問題。

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

主站蜘蛛池模板: 欧美黑人添添高潮a片www | 国产无遮挡又黄又爽又色视频 | 国产中文字幕91 | 国产精品免费观看视频 | 久久成人激情 | 亚洲人成无码网站久久99热国产 | 99黄色 | 热久久久 | 色批网站 | 日本精品三区 | 色呦呦一区二区三区 | 2019最新中文字幕 | 秋葵视频成人 | 国产男女无套免费网站 | www.一区二区 | 国产麻豆电影在线观看 | 日韩福利视频 | 日本黄色免费在线观看 | 动漫女被黄漫免费视频 | 亚洲精品视频导航 | 潘金莲一级淫片aaaaaa播放 | 亚洲av成人精品毛片 | 3d动漫精品啪啪一区二区竹菊 | 国产午夜无码精品免费看奶水 | 萌白酱在线观看 | 白白色视频在线 | 欧美人妖老妇 | av午夜在线观看 | av黄色小说 | 毛片毛片毛片毛片毛片毛片毛片毛片毛片毛片 | 亚洲高清在线 | 成人涩涩网站 | 制服丝袜中文字幕在线 | www.四色| 在线日本中文字幕 | 91视频免费在观看 | 99在线播放视频 | 午夜影院啊啊啊 | 欧美成人做爰大片免费看黄石 | 伊人精品一区二区三区 | 国产aⅴ精品一区二区三区久久 | 青草草在线观看 | 日韩有码一区 | 九九视屏 | av手机免费在线观看 | 热99这里只有精品 | 国产精品无码内射 | 乌克兰av在线| 免费看黄色一级大片 | 91免费看黄 | 国产青青草在线 | 毛片毛片毛片毛片毛片毛片毛片毛片毛片 | 97自拍网| 日本a在线播放 | 欧美顶级毛片在线播放 | 国产精品无码久久久久 | 深夜影院深a | 欧美性猛交xxxx乱大交hd | 欧美人人爽 | 久成人| 黄色免费在线视频 | 欧美视频一区二区 | av在观看| 久久综合色88 | 国产www免费| 免费观看在线高清 | 玉米地疯狂的吸允她的奶视频 | 午夜视| 亚洲天堂中文字幕在线观看 | 国产又粗又黄 | 精品一区二区三区视频在线观看 | 久久久永久久久人妻精品麻豆 | 欧色图 | 久久久视频在线观看 | 婷婷超碰| 欧美性猛交一区二区三区精品 | 亚洲再线 | 久久久久xxxx| 超碰在线| 91麻豆影院 | 日韩欧美在线观看视频 | 一级黄色性片 | 欧美一级片观看 | 激情小说专区 | 一二三毛片 | 亚洲精品国产精品乱码 | 丁香免费视频 | 熊猫电影yy8y全部免费观看 | 婷婷射| 国产视频一区二区三区在线观看 | av在线收看| 秋霞午夜伦理 | 国产一级片网站 | 99这里精品 | 91视频国产一区 | 国产精品腿扒开做爽爽爽挤奶网站 | 国产丝袜一区二区 | 欧亚一级片 | 久久成年人 |