【问题标题】:Date Difference between two dates using variables in python [duplicate]在python中使用变量的两个日期之间的日期差异[重复]
【发布时间】:2015-04-16 14:40:23
【问题描述】:

请告诉我如何使用两个变量获取两个日期之间的天数。我已经尝试过使用下面的代码,但它不起作用

   datea = datetime.strptime(finspltsix, "%Y-%m-%d")
   dateb = datetime.strptime(finspltseven, "%Y-%m-%d")
   myresult9 = datea - dateb
   print myresult9.days

【问题讨论】:

  • 这可能是因为格式与您的日期字符串不匹配。 finspltsixfinspltseven 的值是多少?
  • finspltsix=2014-05-11 finspltseven=2014-09-11
  • 您的示例不完整。有关在问答设置中发布代码示例的指南,请参阅 sscce.org。

标签: python


【解决方案1】:

这里尝试重现您报告的问题:

from datetime import datetime

finspltsix='2014-05-11'
finspltseven='2014-09-11'

datea = datetime.strptime(finspltsix, "%Y-%m-%d")
dateb = datetime.strptime(finspltseven, "%Y-%m-%d")
myresult9 = datea - dateb
print myresult9.days

这会打印出-123,这是完全正确的:datea 确实比dateb 早 123 天(如果您认为这不正确,请查看日历!-)。

因此,您关于“它不起作用”的令人难以置信的模糊断言无法得到证实——它完全可以正常工作。

请编辑您的 Q 以显示您的完整代码(尽可能简化!),您期望看到的,您实际看到的 -- IOW,请尊重您明确同意的堆栈溢出标准作为在此处发布的先决条件。一旦您确实按照您同意的方式尊重本网站的标准,我们都会更好地提供帮助!

例如,如果根据您的评论,您省略了引号而只有 e.g

finspltsix=2014-05-11

这将通过两次减法将finspltsix 计算为数字1998,当然strptime 调用会引发异常。我们无法判断是否是这种情况,因为您冷酷、肆意、故意选择隐藏您看到的确切问题(异常回溯、奇怪的结果等等!),大概是为了让我们不可能为您提供帮助(如果这确实是您的目标,那么到目前为止您已经取得了相当大的成功——但是,那将是一个多么奇怪的目标!-)。

【讨论】:

  • 您好亚历克斯,感谢您的建议。如果我们给变量分配日期,上面的代码就可以正常工作。请在下面查看我的代码
  • @RameshPuruganti,您没有在您的评论“下方”发布任何代码。正如我所提到的,您只在没有引号的 Q 的评论中发布了额外的代码,因此进行了减法。 “如果我们给出,则将日期分配给变量”几乎是使用变量的先决条件,那么它什么时候不能“正常工作”,你从未解释过的神秘“不起作用”?!
  • @Alex..请看下面的代码 selsql="SELECT input1, input2 FROM stp_automation_output WHERE function_name ='%s'" %('DATEDIFF') try: cursor.execute(selsql) results = cursor.fetchall() for row in results: finspltsix=row[0] finspltseven=row[1] except: print "Error: unable to fetch data" dateformat = "%Y-%m-%d" datea = datetime.strptime (finspltsix, dateformat) dateb = datetime.strptime(finspltseven, dateformat) myresult9 = dateb - datea print myresult9.days
  • @RameshPuruganti,评论中的很多代码是不可读的——我的意思是,看看你自己的评论!相反,编辑您的 Q 以格式良好的方式显示此代码、数据库的相关子集、您期望的内容、您观察到的内容。 IOW,帮助我们帮助你——正常的 StackOverflow 行为!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-01-15
  • 1970-01-01
  • 2014-01-18
  • 2017-04-29
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多