如何将Python日期格式转换为MySQL的10位数字日期格式?


在本文中,我们将Python日期格式转换为MySQL的10位数字格式。我们使用Python提供的`time`模块中的`mktime()`方法。

`mktime()` 方法

Python 的 `time` 方法 `mktime()` 是 `localtime()` 的逆函数。

`Time` 模块的 `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 元组并将其传递给 `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.