python - 如何将日期时间字符串中的时间从 24 :00 to 00:00 in Python? 转换为

标签 python datetime

我有很多日期字符串,比如 Mon, 16 Aug 2010 24:00:00,其中一些是 00-23 小时格式,还有一些采用 01-24 小时格式。我想获取它们的日期对象列表,但是当我尝试将示例字符串转换为日期对象时,我必须将其从 Mon, 16 Aug 2010 24:00:00 转换为2010 年 8 月 17 日星期二 00:00:00。什么是最简单的方法?

最佳答案

import email.utils as eutils
import time
import datetime

ntuple=eutils.parsedate('Mon, 16 Aug 2010 24:00:00')
print(ntuple)
# (2010, 8, 16, 24, 0, 0, 0, 1, -1)
timestamp=time.mktime(ntuple)
print(timestamp)
# 1282017600.0
date=datetime.datetime.fromtimestamp(timestamp)
print(date)
# 2010-08-17 00:00:00
print(date.strftime('%a, %d %b %Y %H:%M:%S'))
# Tue, 17 Aug 2010 00:00:00

既然你说你有很多问题要解决,你应该定义一个函数:

def standardize_date(date_str):
    ntuple=eutils.parsedate(date_str)
    timestamp=time.mktime(ntuple)
    date=datetime.datetime.fromtimestamp(timestamp)
    return date.strftime('%a, %d %b %Y %H:%M:%S')

print(standardize_date('Mon, 16 Aug 2010 24:00:00'))
# Tue, 17 Aug 2010 00:00:00

关于python - 如何将日期时间字符串中的时间从 24 :00 to 00:00 in Python? 转换为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3493924/

相关文章:

python - PyCharm中如何自动生成Python API文档

python - 如何修复此 bytes 对象的编码以仅保留实际文本并删除 Python3 中的 '\x00\x05*\x00\x00\x0e\x00bjbj' ?

python - 如何根据条件选择列?

python - 如何在 python 中使用 matplotlib 和 pandas 绘制 CSV 数据

php - laravel 中针对特定格式的 TIme 格式验证

PHP/MySQL - 存储日期以用于跨时区的日期选择报告

python - 如何使用 buildout 创建简单的 python 项目?

mysql - 将 java.util.Date 存储到 MySQL 日期时间中的舍入问题

c# - 为什么从一个时区转换到另一个时区如此困难?

php - 管理注册网站 Cron 作业的最佳方式