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

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

发布时间:2022-12-12 11:04:50 所属栏目: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() 方法。
 

(编辑:PHP编程网 - 钦州站长网)

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

    推荐文章