cassandra 在Python中将Date转换为datetime?还是相反?

qgelzfjb  于 2022-11-05  发布在  Cassandra
关注(0)|答案(1)|浏览(212)

背景:

我一直在尝试比较数据库中的两个日期,以查看记录最后一次修改的时间,以及是否应该再次更新它们。我对使用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
yqyhoc1h

yqyhoc1h1#

类'cassandra.util.Date'有一个函数date().它将转换为datetime.date对象.
因此类型(db_last_modified.date())将为<class 'datetime.date'>
你也需要将datetime.date的时间转换为datetime. date。你可以使用date()来完成。
例如:时间datetime.date(2018年11月20日).日期()-〉日期时间.日期(2018年11月20日)
现在您可以比较它们。
因此将该行更改为if(last_modified.date() <= db_last_modified.date()):

相关问题