繁体   English   中英

使用datetime.strptime在python中转换日期格式的问题

[英]Trouble with converting date format in python using datetime.strptime

大家好,我有一个类似这样的代码,可以计算出6个月的确切日期,但不幸的是,它会打印yy-mm-dd格式,而我想要dd / mm / yy格式我该怎么做(我尝试进行转换但它没有我的代码有什么问题?

  import datetime
  six_months = str(datetime.date.today() - datetime.timedelta(6*365/12-1)
  datetime.datetime.strptime(six_months, '%Y-%m-%d').strftime('%d/%m/%y')

预期产量= 04/02/2017当前产量= 2017-02-04

代码很好,您只是忘了保存到的结果

datetime.datetime.strptime(six_months, '%Y-%m-%d').strftime('%d/%m/%y')

任何变量。 strptime不会改变调用它的对象,它会返回一个字符串。

我认为您6个月前的运算法则与现实世界对该词组的理解不符。 从8月4日到6个月后的2月4日,您的计算得出了正确的答案。 但是从9月4日开始算起的六个月是3月4日,那么您的计算将得出3月7日的答案。

您的代码也不必要地将计算出的日期格式化为字符串,然后必须将字符串解析回日期以获得所需的dd / mm / yy格式。

import datetime
from dateutil.relativedelta import *
six_months = datetime.date.today() + relativedelta(months=-6)
print (f"{six_months:%d/%m/%y}")

输出(到明天)是

04/02/17

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM