如何將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)

更新於:2022年9月8日

2K+ 次瀏覽

啟動你的職業生涯

透過完成課程獲得認證

開始學習
廣告
© . All rights reserved.