使用datetime.strTime在python中转换日期格式时遇到问题
大家好,我有一个这样的代码来计算六个月前的确切日期,但不幸的是它打印的是yy-mm-dd格式,我想要的是dd/mm/yy格式,我该怎么做(我试图转换,但它不起作用)?我的代码怎么了使用datetime.strTime在python中转换日期格式时遇到问题,python,Python,大家好,我有一个这样的代码来计算六个月前的确切日期,但不幸的是它打印的是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/%
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')
预计产量=2017年2月4日
当前输出=2017-02-04代码很好,您只是忘记保存到的结果
datetime.datetime.strptime(six_months, '%Y-%m-%d').strftime('%d/%m/%y')
对于任何变量
strtime
不会以任何方式更改调用它的对象,它返回一个字符串 我认为你6个月前的计算算法与现实世界对这个短语的理解不符。从8月4日算起的六个月是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}")
产量(到明天为止)为
我使用您的命令(复制/粘贴)获得了预期的输出。注意:第二行末尾缺少括号,我也获得了正确的输出。您是否将最后一行的结果赋给了新变量?为什么将减法的结果设为字符串,然后将其解析回datetime对象?我执行您的代码,它的输出很好!哦,这太奇怪了,我该怎么做呢?导入datetime six_months=str(datetime.date.today()-datetime.timedelta(6*365/12-1)a=datetime.datetime.strtime(six_months,%Y-%m-%d')。strftime(“%d/%m/%Y”)出于某些原因它是无效语法无效语法在哪里?
04/02/17