datetime.strptime格式

时间:2018-10-03 02:08:44

标签: python python-3.x python-datetime

我在CSV文件中的日期时间如下:

2011/1/1 0:00
2011/1/1 0:30
2011/1/1 1:00

当我跑步时:

date = datetime.strptime(row[0], '%Y/%m/%d %H:%M')

我将日期时间输出为:

[datetime.datetime(2011, 1, 1, 0, 0)]
[datetime.datetime(2011, 1, 1, 0, 30)]

如何将其格式化为原始日期时间?

3 个答案:

答案 0 :(得分:2)

您已经将字符串解析为datetime对象。这是通过使用datetime.datetime.strptime()完成的。要将对象格式化为字符串,可以使用相同的语法,但要使用方法datetime.datetime.strftime(),例如:

date.strftime('%Y/%m/%d %H:%M')

另请参阅documentation

如果要精确地输入字符串(不带前导0),则可以在百分比运算符和指令字符之间插入连字符,例如:

date.strftime('%Y/%-m/%-d %-H:%M')

这在Python strftime - date without leading 0中有很好的解释,但它是platform dependent

答案 1 :(得分:0)

尝试以字符串格式打印日期:

public class Files : IHttpHandler
{

    public Files(ILogger logger)
    {
        Logger = logger;
        fileService = new FileService(logger);
    }    
}

输出:

from datetime import datetime    

row = "2011/1/1 0:30"
date = datetime.strptime(row, '%Y/%m/%d %H:%M')
print str(date)

答案 2 :(得分:0)

您当前正在执行的操作是根据字符串和格式化程序创建日期时间对象,如here所示。您可能会在代码中的某个位置将此对象放在列表中并对其进行引用。 Python不知道您要使用特定的字符串格式来打印容器(列表)。

如果我了解您的问题,则要打印/返回元素而不是容器。如下所示:

import datetime

l = []
today = datetime.date.today()
l.append(today)
#what you have
print(l)
#addressing just the first element
print(l[0])