加入收藏 | 设为首页 | 会员中心 | 我要投稿 南京站长网 (https://www.025zz.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 服务器 > 搭建环境 > Unix > 正文

在 Python 中将 DateTime 转换为 Unix 时间戳

发布时间:2022-12-10 13:31:45 所属栏目:Unix 来源:网络
导读: 本篇文章主要将介绍如何在 Python 中将 DateTime 转换为 Unix 时间戳,并通过示例将 String Date 转换为时间戳。
首先回答:什么是 Unix 时间戳?
Unix 最初是在 1960 年到 1970 年之间开发

本篇文章主要将介绍如何在 Python 中将 DateTime 转换为 Unix 时间戳,并通过示例将 String Date 转换为时间戳。

首先回答:什么是 Unix 时间戳?

Unix 最初是在 1960 年到 1970 年之间开发的。Unix 的开始时间设置为 1970 年 1 月 1 日,格林威治标准时间(格林威治标准时间)。ISO 格式表示为 ISO 8601: 1970-01-01T00:00:00Z

在 Computing 中,“Epoch Time”是指用于计算经过的秒数的起点。

Unix 纪元(或 Unix 时间或 POSIX 时间或 Unix 时间戳)是自 1970 年 1 月 1 日(UTC/GMT 午夜)以来经过的秒数,不包括闰秒。

如何在 Python 中将 DateTime 转换为 Unix 时间戳?

通常将 DateTime 作为时间戳存储在数据库中,并且大多数数据库都有时间戳数据类型。它有很多好处unix时间戳,因为它更容易跟踪数据库中创建和修改的记录。与 DateTime 数据类型相比,它在 DB 中占用的空间也更少。

既然我们知道了 Unix 时间戳的历史以及它是如何计算的,那么让我们看看如何在 Python 中将 DateTime 对象转换为 Unix 时间戳。

示例 1 – 如何使用 datetime 模块在 Python 中获取当前时间戳?使用 Python 的 datetime 模块,我们首先使用 datetime.now() 方法获取当前日期和时间,然后我们可以将当前日期时间传递给 datetime.timestamp() 方法以获取 Unix 时间戳。

from datetime import datetime

# 当前日期和时间
currentDateTime = datetime.now()
print("Current Date Time is ", currentDateTime)

# 转成timestamp时间
timestamp = datetime.timestamp(currentDateTime)
print("Current Unix Timestamp is ", timestamp)
Output

Current Date Time is ?2022-04-23 21:39:43.821740
Current Unix Timestamp is ?1650730183.82174

示例 2 – 如何在 Python 中将字符串日期转换为时间戳

我们利用 strptime() 方法将字符串转换为日期时间对象。我们无法从任何字符串创建日期时间对象,这意味着字符串需要采用特定格式才能将其转换为日期时间对象。

我们首先使用 strptime() 将其转换为给定字符串到日期对象,然后将其转换为时间元组。

使用 time 模块的 mktime() 方法,我们可以传递时间元组将其转换为 Unix 时间戳。

import time
import datetime

# 时间字符串形式
dt="23/04/2022"

# 转成时间元组
time_tuple=datetime.datetime.strptime(dt, "%d/%m/%Y").timetuple()
print("Time tuple format ",time_tuple)

# 用mktime() 转成?timestamp
print("The timestamp is ",time.mktime(time_tuple))

输出:

Time tuple format ?time.struct_time(tm_year=2022, tm_mon=4, tm_mday=23, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=5, tm_yday=113, tm_isdst=-1)

The timestamp is ?1650652200.0

总结下,在 Python 中有多种方法可以将 Datetime 转换为 Unix 时间戳。如果日期作为字符串对象传递,则两种最佳方法是在时间模块中使用 mktime() 方法。如果我们必须获取当前时间戳,我们可以利用 datetime.timestamp() 方法。

(编辑:南京站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章