在php等後台語言中想要將字串轉換成時間戳是非常方便的,但是在mysql中並沒有直接提供相應的函式進行直接轉換,或者說對於特殊的字串轉換效果並不理想。但是mysql中存在豐富的時間處理函式,可以組合進行處理,以達到效果。
採用下面的方法可以將字串轉換成 unix時間戳
select unix_timestamp(str_to_date('2023年7月1日 9:00-10:30', '%y年%m月%d日'));
解釋:
1.將字串使用str_to_date
轉化成mysql時間,再由unix_timestamp
將mysql時間轉換成 unix時間戳。
str_to_date 函式後面的第二個引數是想要格式化的字串的格式,例如此處的引數是 「 『%y年%m月%d日』」。那麼在進行時間轉化時,mysql只取前面的字串的 漢字 「年月日 」部分,而後面的時間區間值不去理會。
2.unix_timestamp
將mysql的時間格式化成時間戳,如果傳遞給該函式的是有規則的字串也可以直接格式化,不需要str_to_date的轉換。
擴充套件:
select str_to_date('2023年7月1日 9:08-10:30', '%y年%m月%d日 %h:%i')
得到的結果是
2018-07-01 09:08
:00
可以看到str_to_date()
函式會根據第二個引數進行正則匹配第乙個引數的字串,並將結果替換成比較常見並且規則的 「-」、「:」 間隔。這時拿著這個字串使用unix_timestamp()
函式進行格式化,就會得到和php等後端語言相通的unix時間戳。 php 字串轉時間戳 php字串轉時間戳
php字串轉時間戳 在php中可以使用 strtotime 函式將字串轉為時間戳。strtotime說明和用法 strtotime 將任何字串的日期時間描述解析為 unix 時間戳strtotime string time int now time int 本函式預期接受乙個包含美國英語日期格式的字...
php字串轉時間戳
php 提供了函式可以方便的將各種形式的日期轉換為時間戳,該類函式主要是 strtotime strtotime 函式用於將英文文字字串表示的日期轉換為時間戳,為 date 的反函式,成功返回時間戳,否則返回 false 語法 int strtotime string time int now 引數...
MYSQL日期 字串 時間戳互轉
平時比較常用的時間 字串 時間戳之間的互相轉換,雖然常用但是幾乎每次使用時候都喜歡去搜尋一下用法 本文將作為乙個筆記,整理一下三者之間的 轉換 即 date轉字串 date轉時間戳 字串轉date 字串轉時間戳 時間戳轉date,時間戳轉字串 用法,方便日後檢視 date format date,f...