如何将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.