使用连字符重新格式化日期字符串

时间:2016-10-27 14:16:42

标签: python python-3.x

我对python比较陌生,想从头开始编写干净的代码。我需要一个字符串解析器,它将“20140101”形式的日期格式化为“2014-01-01”。我是如何实现这一目标的是:

def parse(date):

    list_date = list(date)
    list_date.insert(4,"-")
    list_date.insert(7,"-")
    return "".join(list_date)

效果很好但看起来不是很干净。也许没有其他解决方案,但如果有更多的pythonic方式来编码,如果你愿意分享它,将不胜感激!

2 个答案:

答案 0 :(得分:3)

def parse(date):
    return "{}-{}-{}".format(date[:4], date[4:6], date[6:])

可能会犯一个小错误,但考虑到你这样做,这应该可以解决问题。

有关Python的字符串格式的详细信息,另请参阅pyformat.info

另外,我建议查看datetime模块,了解更多有关更多Pythonic处理日期的方法的信息。 ;)

答案 1 :(得分:0)

您可以使用格式,如B. Eckles所述。但你也可以这样做:

def parse(date):
    return "%s-%s-%s" % (date[:4], date[4:6], date[6:])

使用格式似乎是不必要的,因为除了替换部分字符串之外,您实际上并没有使用它。