MySQL 如何将Python日期格式转换为MySQL的10位日期格式
在本文中,我们将把Python日期格式转换为MySQL的10位格式。我们使用Python提供的时间模块中的 mktime() 方法。
阅读更多:MySQL 教程
mktime()方法
Python时间方法mktime()是localtime()的反函数。
Time模块的time.mktime()方法用于将time.struct_time对象或包含9个元素的元组(这些元素代表time.struct_time对象)转换为自系统时代以来的秒数
语法
mktime()方法的语法如下。
Time.mktime(t)
其中, t 是 time.struct_time 对象或包含9个元素的元组,对应于time.struct_time对象。
如果输入值不代表有效时间,则会引发Overflow Error或Value Error。
如果日期以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("时间元组:" , my_date)
print(time.mktime(my_date))
输出结果
执行上述程序后,会得到以下输出。
时间元组: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日期格式。
importtime
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()方法
python中的 timestamp() 方法返回自纪元时间(1970年1月1日)以来的时间值(秒)。
在下面的示例中,我们正在使用 timestamp() 方法将日期“17-10-2021”转换为10位值 –
例子
import datetime
date_time = datetime.datetime(2021, 10, 17)
digitVal = date_time.timestamp()
print(digitVal)
极客教程