AttributeError: 'datetime.date' 对象没有属性 'timestamp'

Posted

技术标签:

【中文标题】AttributeError: \'datetime.date\' 对象没有属性 \'timestamp\'【英文标题】:AttributeError: 'datetime.date' object has no attribute 'timestamp'AttributeError: 'datetime.date' 对象没有属性 'timestamp' 【发布时间】:2022-01-24 00:01:56 【问题描述】:

我的代码是:

get_closest_date = []
get_amounts_sum = []
query = """SELECT sp.customer_surname, sp.amount, cp.amount, sp.monthly, sp.date_ FROM set_payment7777 sp JOIN customers_payments7777 cp ON cp.customer_AFM = sp.customer_AFM  WHERE cp.date_ <= %s AND sp.date_ <= %s GROUP BY sp.customer_AFM"""
mycursor.execute(query,(to_date,to_date,))
for row in mycursor:
    get_closest_date.append(row[4])
                        


cloz_dict = abs(datetime(int(to_year_drop.get()), int(to_month_drop.get()), int(to_day_drop.get())).timestamp() - date.timestamp()) : date for date in get_closest_date
res = cloz_dict[min(cloz_dict.keys())]

print(res)

我的进口是:

from tkinter import *
from tkinter import messagebox
import os 
import mysql.connector
from tkinter import ttk
from datetime import date
from datetime import datetime

但我不断收到:AttributeError: 'datetime.date' object has no attribute 'timestamp'

【问题讨论】:

你到底想干什么? date 对象没有 timestamp 选项,因为它不包含时间。 我认为这是一个很好的问题,因为日期对象确实有 fromtimestamp 方法,所以“不包括时间”不能在我看来,这就是整个故事。 【参考方案1】:

date 对象没有日期时间对象所具有的.timestamp() 方法。作为一种解决方法,您可以使用combine 从它创建一个日期时间对象:

from datetime import date, datetime

d = date(2020, 1, 1)
dt = datetime(2020, 1, 1) # for comparison

print(dt.timestamp())
print(datetime.combine(d, datetime.min.time()).timestamp())
# 1577833200.0
# 1577833200.0

date 对象有一个fromtimestamp 方法,所以缺少逆对我来说实际上似乎不一致。正如这会截断时间戳给出的时间信息一样,timestamp 方法必须隐式使用时间 - 例如本地时区的 0 小时(因为日期对象是幼稚的)。如果有人有好的解释,请发表评论:)

【讨论】:

以上是关于AttributeError: 'datetime.date' 对象没有属性 'timestamp'的主要内容,如果未能解决你的问题,请参考以下文章

AttributeError:“datetime”模块没有属性“strptime”

日期时间、熊猫和时区问题:AttributeError:“datetime.timezone”对象没有属性“_utcoffset”

AttributeError:“模块”对象没有属性“作者”

初学者 Python:AttributeError:'list' 对象没有属性

AttributeError:“字节”对象没有属性“告诉”

AttributeError: 'RDD' 对象没有属性 'show'