在Windows中的日期python中删除月中的前导零

时间:2016-07-01 09:59:18

标签: python windows

我的字符串是: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

Out put:Oct 2 216 1:45:00 AM 它删除0月份和年份

conDateTime = conDateTime.replace(time.strftime("%d",conDateTime), day)

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

1 个答案:

答案 0 :(得分:0)

我认为这不是一个简单的方法。您需要单独转换零件,然后将它们连接在一起。这是在Python 2和Python 3上运行的一种方法。

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))

<强>输出

Oct 2 2016 1:45:00AM