Python中是否有将日期转换为日期时间的内置方法,例如获取给定日期的午夜日期时间?相反的转换很容易:datetime有一个.date()方法。
我真的需要手动调用datetime(d。年,月,日)?
Python中是否有将日期转换为日期时间的内置方法,例如获取给定日期的午夜日期时间?相反的转换很容易:datetime有一个.date()方法。
我真的需要手动调用datetime(d。年,月,日)?
当前回答
你可以使用easy_date来简化:
import date_converter
my_datetime = date_converter.date_to_datetime(my_date)
其他回答
我是Python的新手。但是这段代码为我工作,它将我提供的指定输入转换为datetime。这是代码。如果我说错了,请指正。
import sys
from datetime import datetime
from time import mktime, strptime
user_date = '02/15/1989'
if user_date is not None:
user_date = datetime.strptime(user_date,"%m/%d/%Y")
else:
user_date = datetime.now()
print user_date
toisoformat/fromisoformat的替代方案:您可以使用date。Toordinal和datetime.fromordinal:
import datetime
start_date = datetime.date(1991, 2, 20)
start_date_midnight = datetime.datetime.fromordinal(start_date.toordinal())
我怀疑这比转换到/从字符串更有效。
你可以这样测试这个过程:
def test_datetime_from_date():
for x in range(1,1000000):
date_ = datetime.date.fromordinal(x)
datetime_ = datetime.datetime.fromordinal(date_.toordinal())
datetime_iso_date, t, datetime_iso_time = datetime_.isoformat().partition("T")
assert datetime_iso_date == date_.isoformat()
你可以使用easy_date来简化:
import date_converter
my_datetime = date_converter.date_to_datetime(my_date)
使用Django timezone util使dt能够感知datetime时区:
from django.utils import timezone
timezone.now().replace(*(*dt.timetuple()[:6], 0))
如果你需要一些快速的东西,datetime_object.date()会给你一个datetime对象的日期。