如何将datetime转换为日期(在Python中)?

时间:2010-09-18 19:44:01

标签: python datetime

如何在Python中将datetime.datetime对象(例如,datetime.datetime.now())的返回值转换为datetime.date对象?

9 个答案:

答案 0 :(得分:783)

使用date()方法:

datetime.datetime.now().date()

答案 1 :(得分:120)

来自文档:

  

datetime.datetime.date()

     

返回同年,月,日的日期对象。

答案 2 :(得分:53)

您使用datetime.datetime.date()方法:

datetime.datetime.now().date()

显然,上面的表达式可以(并且应该恕我直言:)写成:

datetime.date.today()

答案 3 :(得分:35)

您可以使用日期时间对象的date()方法将datetime对象转换为日期,如下所示:

<datetime_object>.date()

答案 4 :(得分:4)

别忘了导入日期时间

import datetime
dt=str(datetime.datetime.now().date())

答案 5 :(得分:3)

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()

答案 6 :(得分:1)

答案已更新至Python 3.7及更高版本

这里是如何旋转日期和时间对象

(又名datetime.datetime对象,存储在models.DateTimeField django model field内部的对象)

插入日期对象(也称为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

答案 7 :(得分:0)

您可以输入(今天的日期和日期和时间的名称)的代码表: datetime.datetime.now().strftime('%y-%m-%d %a %H:%M:%S')

'09 -09-09 Mon 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()

答案 8 :(得分:0)

我使用 data.strftime('%y-%m-%d') 和 lambda 将列转移到日期