Python检查日期是30天

时间:2014-02-21 15:27:34

标签: python

我想编写一个测试,从保存的对象recipient.expiry_date中抽出一段时间,检查日期是否为30天。

这就是我的尝试:

days_to_match = timezone.now() + timedelta(days=30)

self.assertEqual(recipient.expiry_date, days_to_match)

因为它还包含不匹配的时间。

如何做到这一点?

请注意recipient.expiry_date使用timezone.now()在我的模型中设置,因此对python日期的比较似乎有误。

2 个答案:

答案 0 :(得分:3)

正如您在this SO answer中所看到的,您可以使用date()仅比较日期而不是时间。或者您可以将时间数据设为=。

self.assertEqual(recipient.expiry_date.date(), days_to_match.date())

答案 1 :(得分:1)

您可以查看日期部分:

self.assertEqual(recipient.expiry_date.year, days_to_match.year)
self.assertEqual(recipient.expiry_date.month, days_to_match.month)
self.assertEqual(recipient.expiry_date.day, days_to_match.day)