Python 基础教程

Python 高级教程

Python 相关应用

Python 笔记

Python FAQ

original icon
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.knowledgedict.com/tutorial/python-note-datetime-transform.html

Python 时间戳与日期时间相互转换

Python 笔记 Python 笔记


Python 开发实践中,经常需要将时间戳与指定的日期时间进行相互转换,Python 中处理时间的模块主要为 time 和 datetime 模块。

日期时间转换时间戳

将指定的时间格式(如 2019-06-05 20:48:37)转换成时间戳,具体的操作过程为:

  • 首先利用 time 模块的 strptime() 函数将指定时间格式转换成时间元组(返回 struct_time 对象)。
  • 再利用 time 模块的 mktime() 函数将时间元组转换成时间戳(返回 float 类型,精确到秒)。

代码示例如下:

import time

dt = "2019-06-05 20:48:37"
# dt = "2019/06/05 20:48:37"

# 转换成时间元组
time_tuple = time.strptime(dt, "%Y-%m-%d %H:%M:%S")
# time_tuple = time.strptime(dt, "%Y/%m/%d %H:%M:%S")
print(type(time_tuple))
print(time_tuple)

# 转换成时间戳
timestamp = time.mktime(time_tuple)
print(type(timestamp))
print(timestamp)
print(int(timestamp))
<class 'time.struct_time'>
time.struct_time(tm_year=2019, tm_mon=6, tm_mday=5, tm_hour=20, tm_min=48, tm_sec=37, tm_wday=2, tm_yday=156, tm_isdst=-1)
<class 'float'>
1559738917.0
1559738917

时间戳转换指定格式的日期时间

在时间戳转换成指定格式的日期时间中,首先需要将时间戳转换成 struct_time 时间元组对象,再转换成时间的具体格式:

  • 利用 time 模块的 localtime() 函数将时间戳转换成时间元组(返回 struct_time 对象)。
  • 利用 time 模块的 strftime() 函数将时间元组转换成指定格式的日期时间。

代码示例如下:

import time

timestamp = 1559738917

# 转换成时间元组
time_tuple = time.localtime(timestamp)
print(type(time_tuple))
print(time_tuple)

# 转换成指定的时间格式
dt = time.strftime("%Y-%m-%d %H:%M:%S", time_tuple)
print(type(dt))
print(dt)
<class 'time.struct_time'>
time.struct_time(tm_year=2019, tm_mon=6, tm_mday=5, tm_hour=20, tm_min=48, tm_sec=37, tm_wday=2, tm_yday=156, tm_isdst=0)
<class 'str'>
2019-06-05 20:48:37
python 时间戳转换为时间对象(time 对象),只需要将时间戳数字传递给 time 模块的 localtime 函数即可,返回一个 t ...
在Java中获取时间戳有多种方式,我将为您介绍其中几种常用的方式,并提供相应的代码示例。示例代码:Gradle依赖:###使用Date类(不 ...
Java 的时间和日期 API 在 1.0 有一个 Date 类,事后证明它过于简单,1.1 引入 Calendar 类之后,Date 类中 ...
示例代码:###方式三:使用第三方库Joda-TimeJoda-Time是一个广泛使用的日期和时间处理库。Maven依赖:Gradle依赖: ...
在Java中,转换时间格式有多种实现方式,我将为你介绍三种常用的方式:使用SimpleDateFormat类、使用DateTimeForma ...