python - 转换(YYYY-MM-DD-HH :MM:SS) date time

标签 python datetime time

我想转换这样的字符串 "29-Apr-2013-15:59:02" 变成更有用的东西。

破折号可以很容易地替换为空格或其他字符。这种格式是理想的:"YYYYMMDD HH:mm:ss (20130429 15:59:02)".

编辑:

抱歉,我没有在另一篇文章中具体看到答案。但同样,我很无知,所以可能一直在寻找解决方案并且不知道。我已经完成了这项工作,但我不会认为它“漂亮”。

#29-Apr-2013-15:59:02

import sys, datetime, time

#inDate = sys.argv[1]
inDate = 29-Apr-2013-15:59:02

def getMonth(month):
    monthDict = {'Jan':'01','Feb':'02','Mar':'03','Apr':'04','May':'05','Jun':'06','Jul':'07','Aug':'08','Sep':'09','Oct':'10','Nov':'11','Dec':'12'}
    for k, v in monthDict.iteritems():
        if month == k:
            return v

day = inDate[:2]
#print day
month = inDate[3:6]
#print month
year = inDate[7:11]
#print year
time = inDate[-8:]
#print time

newDate = year+getMonth(month)+day
newDateTime = newDate+" "+time

print newDate
print newDateTime

有什么改进的想法吗?

最佳答案

使用 datetime.strptime()要将 inDate 字符串解析为日期对象,请使用 datetime.strftime()以您喜欢的任何格式输出:

>>> from datetime import datetime
>>> inDate = "29-Apr-2013-15:59:02"
>>> d = datetime.strptime(inDate, "%d-%b-%Y-%H:%M:%S")
>>> d
datetime.datetime(2013, 4, 29, 15, 59, 2)
>>> d.strftime("YYYYMMDD HH:mm:ss (%Y%m%d %H:%M:%S)")
'YYYYMMDD HH:mm:ss (20130429 15:59:02)'

关于python - 转换(YYYY-MM-DD-HH :MM:SS) date time,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16286991/

相关文章:

sql - 获取 SQL 中一个日期与另一个日期之间的距离(ISO 格式)

c# - 如何在一个类中找到 DateTime 类型的所有属性?

php - 负时间戳——它在 PHP 中有意义吗?

Python 和 Selenium : Check which of two images loaded on a given page

python - Selenium Webdriver 错误 : "Can' t load the profile"

python - TypeError : ListControl, must set a sequence (python错误)

python:为什么 list.append ('a' ) 效果列表?

java - JodaTime - 2 个日期之间每月的天数

sql - 如何在 SQL Server 中生成两个小时之间的小时数?

python - 无法弄清楚如何在程序内部调用 cProfile