如何將Python日期格式轉換為MySQL的10位數字日期格式?
在這篇文章中,我們將把Python的日期格式轉換為MySQL支援的10位數字格式。我們將使用Python提供的`time`模組中的`mktime()`方法。
`mktime()` 方法
Python的`time`模組中的`mktime()`方法是`localtime()`方法的逆函式。
`time.mktime()`方法用於將`time.struct_time`物件或包含9個元素的元組(表示`time.struct_time`物件)轉換為自本地系統紀元以來的秒數。
語法
`mktime()`方法的語法如下所示。
Time.mktime(t)
其中,`t`是一個`time.struct_time`物件或一個包含9個元素的元組,這些元素對應於`time.struct_time`物件。
如果輸入值不能表示有效時間,則會引發`OverflowError`或`ValueError`。
如果日期是datetime物件
如果日期是`datetime`物件,則可以直接獲取該物件的時間元組並將其傳遞給`time.mktime()`函式。
示例1
在這個例子中,我們將檢查給定的日期是否是`datetime`物件。
import time from datetime import date from datetime import datetime my_date = date.today() my_date = my_date.timetuple() print("Time tuple:",my_date) print(time.mktime(my_date))
輸出
執行上述程式後,將獲得以下輸出。
Time tuple: time.struct_time(tm_year=2022, tm_mon=5, tm_mday=19, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=3, tm_yday=139, tm_isdst=-1) 1652898600.0
示例2
讓我們來看另一個例子:
import datetime import time my_date = datetime.datetime(2020, 5, 17) print(time.mktime(my_date.timetuple()))
輸出
這將給出以下輸出:
1589673600.0
如果日期是字串
如果日期是字串,我們可以使用`strptime()`方法解析字串。然後,我們使用`time.mktime()`函式建立MySQL支援的日期格式。
示例
在下面的示例程式碼中,我們使用`strptime()`方法獲取時間物件,並使用`time.mktime()`方法轉換為MySQL日期格式。
import time my_time = time.strptime("01-01-18", "%d-%m-%y") print(time.mktime(my_time))
輸出
輸出如下所示。
1514745000.0
使用`strftime()`
Python中的`strftime()`方法接受一個格式字串,並根據當前日期時間物件的內容進行轉換,並將結果以字串形式返回。
如果將`'%s'`作為格式字串傳遞,此方法會將日期時間值轉換為毫秒,並將結果作為10位數字返回。
示例
讓我們來看一個例子:
import datetime date_time = datetime.datetime(2021, 10, 17) digitVal = date_time.strftime('%s') print(digitVal)
輸出
1634428800
使用`timestamp()`方法
`timestamp()`方法返回自紀元時間(1970年1月1日)以來的秒數。
在下面的例子中,我們使用`timestamp()`方法將日期“`17-10-2021`”轉換為10位數字:
示例
import datetime date_time = datetime.datetime(2021, 10, 17) digitVal = date_time.timestamp() print(digitVal)
資料結構
網路
關係資料庫管理系統 (RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP