在python中使用date命令将日期转换为%Y:%j:%H:%M:%s

2024-10-01 09:25:27 发布

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

我试图用os.popen公司和date命令使用以下调用:

    t=wp.time
    dtme=os.popen("date -d t +%Y:%j:%H:%M:%S")
    dtime=dtme.read()

在哪里可湿性粉剂时间是一系列日期,格式如下:

2014-07-22 19:59:53

date命令的问题是它在读取日期和yyyy-mm-dd之间的空格时遇到了问题。有没有解决方法?当我这样做的时候,我在python中做错了什么?有更好的方法吗?我的日期时间.strptime好像没用。在


Tags: 方法命令readdatetimeos时间公司
3条回答

只需使用datetime.strptime。它没有被弃用,而且它可以工作:

>>> from datetime import datetime
>>> t='2014-07-22 19:59:53'
>>> datetime.strptime(t,'%Y-%m-%d %H:%M:%S')
datetime.datetime(2014, 7, 22, 19, 59, 53)

注意有一个datetime和一个datetime模块。这可能是您报告错误的原因:

^{pr2}$

看看^{}库。它包含关于如何替换os.popen()调用的具体建议

%j不适合阅读您想要的日期格式,即日期格式。在

我想无论是在短期还是短期内,你都想

"%Y-%m-%d %H:%M:%s"

作为2014-07-22 19:59:53之类的格式字符串

同样,Linux的date命令将是

echo date +"%Y-%m-%d %H-%M-%S"

或者,如果我误解了您的意思,而您想将转换为年中的日期格式,那么下面的代码片段就可以做到:

import datetime

t = "2014-07-22 19:59:53"
thedatetime= datetime.datetime.strptime(t,'%Y-%m-%d %H:%M:%S')
my_new_t =datetime.datetime.strftime(thedatetime,"%Y:%j %H:%M:%S")
print 'my_new_t',my_new_t

输出是

my_new_t 2014:203 19:59:53

如果要在输出中使用分号,则不需要空格

^{pr2}$

相关问题 更多 >