将日期转换为 Python 中的 datetime.datetime?或相反亦然?
Converting Date to datetime.datetime in Python? Or vice-versa?
背景:
我一直在尝试比较数据库中的两个日期,以查看上次修改记录的时间以及是否应再次更新它们。我对使用 Python 2.7 和 Cassandra 3.0 还比较陌生,而且我还没有找到关于如何执行此操作的任何其他答案。
问题:
if(last_modified <= db_last_modified):
TypeError: can't compare datetime.datetime to Date
附加信息
#I'm getting the last_modified record in the database
last_modified = self.object.record.last_modified
db_last_modified = record_helper.get_last_modified_record()[0]['last_modified']
print(type(last_modified)) # <type 'datetime.datetime'>
print(type(db_last_modified)) # <class 'cassandra.util.Date'>
if(last_modified <= db_last_modified):
print("Already processed newer or equivalent version.")
logging.info("Already processed a newer version of the metadata. Please check your files and try again.")
return
class 'cassandra.util.Date' 有一个函数 date()。它转换为 datetime.date 对象。
所以类型(db_last_modified.date()) 将是<class 'datetime.date'>
您还需要将 datetime.date 时间转换为 datetime.date。你可以使用 date().
例如:datetime.datetime(2018,11,20).date() -> datetime.date(2018, 11, 20)
现在您可以比较它们了。
所以将行更改为 if(last_modified.date() <= db_last_modified.date()):
背景:
我一直在尝试比较数据库中的两个日期,以查看上次修改记录的时间以及是否应再次更新它们。我对使用 Python 2.7 和 Cassandra 3.0 还比较陌生,而且我还没有找到关于如何执行此操作的任何其他答案。
问题:
if(last_modified <= db_last_modified):
TypeError: can't compare datetime.datetime to Date
附加信息
#I'm getting the last_modified record in the database
last_modified = self.object.record.last_modified
db_last_modified = record_helper.get_last_modified_record()[0]['last_modified']
print(type(last_modified)) # <type 'datetime.datetime'>
print(type(db_last_modified)) # <class 'cassandra.util.Date'>
if(last_modified <= db_last_modified):
print("Already processed newer or equivalent version.")
logging.info("Already processed a newer version of the metadata. Please check your files and try again.")
return
class 'cassandra.util.Date' 有一个函数 date()。它转换为 datetime.date 对象。
所以类型(db_last_modified.date()) 将是<class 'datetime.date'>
您还需要将 datetime.date 时间转换为 datetime.date。你可以使用 date().
例如:datetime.datetime(2018,11,20).date() -> datetime.date(2018, 11, 20)
现在您可以比较它们了。
所以将行更改为 if(last_modified.date() <= db_last_modified.date()):