python - 如何在python中将时间戳转换为特定的数据时间格式?
问题描述
from datetime import datetime
import time
timestamp = 1595059353398/1000
dt_object = datetime.fromtimestamp(timestamp)
date_time = dt_object.strftime("%m/%d/%Y, %H:%M:%S")
print(date_time)
我得到的输出是 07/18/2020, 13:32:33 但我需要输出应该是:7/18/2020, 1:32:33 PM 这种格式
解决方案
请参阅下面的解决方案和解释/咨询说明。
解决方案
from datetime import datetime
import re
format = '%m/%d/%Y %I:%M %p'
timestamp = 1595059353398/1000
dt_object = datetime.fromtimestamp(timestamp)
date_time = dt_object.strftime(format)
date_time = re.sub('(^0)|((?<=\/)0)|(?<=\s)0', '', date_time)
print(date_time)
格式
在format
中,%I
指定 12 小时制并%p
指定区域设置相当于 AM 或 PM - 请参阅datetime
docs。
re
去除前导零
该解决方案利用内置模块替换开头 ()、字符串 () 内的任何实例之后或空格 ( ) 之后re
可能出现的任何前导零- 根据您的问题中描述的所需输出。(^0)
'/'
((?<=\/)0)
(?<=\s)0
我会考虑更多地考虑您的要求并评估您是否真的需要删除前导零 - 根据原始帖子中描述的所需输出 - 使用固定长度(即允许前导零)在许多用途中肯定具有优势案例。
如果您决定不再删除生成的字符串中的前导零,您可以简单地省略该行date_time = re.sub(*args)
。
推荐阅读
- c++ - 如何将多个模型合二为一?
- deep-learning - 将 CNN 用于分类和数值数据等数据在理论上是否合理?
- php - 如何解决 Laravel 项目中的内存限制和作曲家错误?
- c# - 如何从 SQL Server 获取位图图像并将其显示在 PictureBox 中?
- android - 如何在不使用onTouch的情况下在imageview中获取位图图像的精确初始坐标?
- amazon-web-services - 即使在使用反引号(`)转义点后,在 Amazon Athena 中创建列名包含点(.)的表时也会出错
- go - 无法在弹性搜索中保存 uuid
- vespa - 如何在 vespa 中获得文本匹配百分比?
- c# - 如何读取数据并将数据存储到 TPM 芯片
- excel - 为每个循环嵌套(Excel VBA)