删除windows中日期python中月份的前导零

2024-10-03 02:47:41 发布

您现在位置:Python中文网/ 问答频道 /正文

我的字符串是:Nov 05 2016 01:30:00PM 我需要删除月份和小时的前导0 输出应该类似于Nov 5 2016 1:30:00PM

在%和字母之间添加连字符,您无法删除前导的零窗口..因此我无法使用该选项。在

import time
from_date="2016-10-02T01:45:00"
conv=time.strptime(from_date,"%Y-%m-%dT%H:%M:%S")
conDateTime = time.strftime("%b %d %Y %I:%M:%S%p",conv)
print conDateTime
day  = time.strftime("%d",conv).lstrip('0')
hour = time.strftime("%H",conv).lstrip('0')
conDateTime = conDateTime.replace(time.strftime("%d",conv), day)
conDateTime = conDateTime.replace(time.strftime("%I",conv), hour)
print conDateTime

输出时间:10月2日216凌晨1:45:00 它删除月份和年份的0

^{pr2}$

给出以下错误类型错误:参数必须是9项序列,而不是str


Tags: fromdatetime错误novreplaceprintday
1条回答
网友
1楼 · 发布于 2024-10-03 02:47:41

我不认为有一个简单的方法可以做到这一点。你需要分别转换零件,然后将它们连接在一起。这里有一种方法可以在Python2和Python3上使用。在

import time

time_formats = ('%b', '%d %Y', '%I:%M:%S%p')

def strip_time(fmt, t):
    return time.strftime(fmt, t).lstrip('0')

from_date = "2016-10-02T01:45:00"
conv = time.strptime(from_date, "%Y-%m-%dT%H:%M:%S")
conDateTime = [strip_time(fmt, conv) for fmt in time_formats]
print(' '.join(conDateTime))

输出

^{pr2}$

相关问题 更多 >