如何将日期时间转换为日期?
- 2025-02-14 09:49:00
- admin 原创
- 97
问题描述:
如何转换datetime.datetime
对象(例如,在 Python 中将的返回值转换datetime.datetime.now())
为datetime.date
对象?
解决方案 1:
使用date()
方法:
datetime.datetime.now().date()
解决方案 2:
来自文档:
datetime.datetime.date()
返回具有相同年、月、日的日期对象。
解决方案 3:
您使用的datetime.datetime.date()
方法:
datetime.datetime.now().date()
显然,上面的表达式可以(并且在我看来应该:)写成:
datetime.date.today()
解决方案 4:
您可以使用日期时间对象的 date() 方法将 datetime 对象转换为日期,如下所示:
<datetime_object>.date()
解决方案 5:
答案已更新至 Python 3.7 及以上版本
以下是如何将日期和时间对象
(又名对象,存储在django模型字段datetime.datetime
内的对象)models.DateTimeField
变成日期对象(又名datetime.date
对象):
from datetime import datetime
#your date-and-time object
# let's supposed it is defined as
datetime_element = datetime(2020, 7, 10, 12, 56, 54, 324893)
# where
# datetime_element = datetime(year, month, day, hour, minute, second, milliseconds)
# WHAT YOU WANT: your date-only object
date_element = datetime_element.date()
需要明确的是,如果打印这些元素,输出结果如下:
print(datetime_element)
2020-07-10 12:56:54.324893
print(date_element)
2020-07-10
解决方案 6:
您可以输入以下代码形式(今天的日期和星期名称和小时):datetime.datetime.now().strftime('%y-%m-%d %a %H:%M:%S')
‘19-09-09 星期一 17:37:56’
并输入此代码(仅今天的日期):
datetime.date.today().strftime('%y-%m-%d')
“19-09-10”
对于对象:datetime.datetime.now().date()
datetime.datetime.today().date()
datetime.datetime.utcnow().date()
datetime.datetime.today().time()
datetime.datetime.utcnow().date()
datetime.datetime.utcnow().time()
解决方案 7:
import time
import datetime
# use mktime to step by one day
# end - the last day, numdays - count of days to step back
def gen_dates_list(end, numdays):
start = end - datetime.timedelta(days=numdays+1)
end = int(time.mktime(end.timetuple()))
start = int(time.mktime(start.timetuple()))
# 86400 s = 1 day
return xrange(start, end, 86400)
# if you need reverse the list of dates
for dt in reversed(gen_dates_list(datetime.datetime.today(), 100)):
print datetime.datetime.fromtimestamp(dt).date()
解决方案 8:
我使用data.strftime('%y-%m-%d')
lambda 将列转移到日期
解决方案 9:
Solved: AttributeError: 'Series' object has no attribute 'date'
您可以按如下方式使用,
df["date"] = pd.to_datetime(df["date"]).dt.date
以上代码中的日期包含日期和时间 (2020-09-21 22:32:00),使用以上代码我们只能获取日期 (2020-09-21)
解决方案 10:
如果您使用熊猫那么这可以解决您的问题:
假设您的数据框中有一个名为 start_time 、类型为 datetime64 的变量,那么您可以像这样获取日期部分:
df.start_time.dt.date
扫码咨询,免费领取项目管理大礼包!