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”