Python案例如何时间戳转日期?

wen python案例 51

本文目录导读:

Python案例如何时间戳转日期?

  1. 使用 datetime 模块(推荐)
  2. 使用 time 模块
  3. 使用 pandas(适合处理批量数据)
  4. 常用格式化符号
  5. 完整示例:获取当前时间戳并转换

在Python中,将时间戳转换为日期有多种方法,下面介绍几种常用的方式。

使用 datetime 模块(推荐)

将时间戳转换为datetime对象,再格式化为日期字符串

import datetime
# 示例时间戳(秒)
timestamp = 1700000000  # 2023-11-14 22:13:20
# 转换为datetime对象
dt = datetime.datetime.fromtimestamp(timestamp)
# 格式化为日期字符串
date_str = dt.strftime('%Y-%m-%d %H:%M:%S')
print(date_str)  # 输出: 2023-11-14 22:13:20
# 只显示日期
date_str_only = dt.strftime('%Y-%m-%d')
print(date_str_only)  # 输出: 2023-11-14

处理毫秒级时间戳

import datetime
# 毫秒级时间戳(13位数字)
timestamp_ms = 1700000000000
# 先转换为秒
timestamp_sec = timestamp_ms / 1000
# 再转换为datetime
dt = datetime.datetime.fromtimestamp(timestamp_sec)
print(dt.strftime('%Y-%m-%d %H:%M:%S'))
# 输出: 2023-11-14 22:13:20

使用 time 模块

import time
# 时间戳
timestamp = 1700000000
# 转换为时间元组
time_tuple = time.localtime(timestamp)
# 格式化为日期字符串
date_str = time.strftime('%Y-%m-%d %H:%M:%S', time_tuple)
print(date_str)  # 输出: 2023-11-14 22:13:20

使用 pandas(适合处理批量数据)

import pandas as pd
# 单个时间戳
timestamp = 1700000000
date = pd.to_datetime(timestamp, unit='s')
print(date)  # 输出: 2023-11-15 06:13:20
# 批量处理时间戳列表
timestamps = [1700000000, 1700003600, 1700007200]
dates = pd.to_datetime(timestamps, unit='s')
print(dates)
# 输出: DatetimeIndex(['2023-11-15 06:13:20', '2023-11-15 07:13:20', '2023-11-15 08:13:20'], dtype='datetime64[ns]', freq=None)

常用格式化符号

符号 含义 示例
%Y 四位年份 2023
%m 两位月份 11
%d 两位日期 14
%H 24小时制小时 22
%M 分钟 13
%S 20
%Y-%m-%d 日期格式 2023-11-14
%H:%M:%S 时间格式 22:13:20

完整示例:获取当前时间戳并转换

import datetime
import time
# 获取当前时间戳
current_timestamp = time.time()
print(f"当前时间戳: {current_timestamp}")
# 转换为可读日期
dt = datetime.datetime.fromtimestamp(current_timestamp)
print(f"当前日期时间: {dt.strftime('%Y-%m-%d %H:%M:%S')}")
print(f"当前日期: {dt.strftime('%Y-%m-%d')}")
print(f"当前时间: {dt.strftime('%H:%M:%S')}")

推荐使用 datetime 模块,因为它提供了更灵活的对象操作和格式化功能,且不需要额外安装第三方库。

抱歉,评论功能暂时关闭!