如何在python中指定日期和时间?

Osc*_*Ryz 27 python datetime

相当简单的新手问题:

python中用于在Python中指定日期(和时间)的对象是什么?

例如,要创建一个包含给定日期和时间的对象(比方说'05/10/09 18:00').

编辑

根据S.Lott的要求,到目前为止我所拥有的是:

class Some:
    date = 
Run Code Online (Sandbox Code Playgroud)

我停在那里,在"="符号之后我意识到我不知道正确的物体是什么;)

Nic*_*kis 69

简单的例子:

>>> import datetime
# 05/10/09 18:00
>>> d = datetime.datetime(2009, 10, 5, 18, 00)
>>> print d.year, d.month, d.day, d.hour, d.second
2009 10 5 18 0
>>> print d.isoformat(' ')
2009-10-05 18:00:00
>>> 
Run Code Online (Sandbox Code Playgroud)

  • 有关日期时间的文档:https://docs.python.org/3/library/datetime.html。请注意,调用“datetime.datetime()”时,只有年、月、日是必需的。例如:`d = datetime.datetime(年、月、日)` (2认同)

Eri*_*arr 7

尼克D有正式的方法处理你的问题.如果你想传递一个像你在问题中所做的那样的字符串,那么dateutil模块(http://labix.org/python-dateutil)对这种事情有很好的支持.

例如,我将复制并粘贴我现在回答的另一个答案:

简单的例子:

>>> parse("Thu Sep 25 2003")
datetime.datetime(2003, 9, 25, 0, 0)

>>> parse("Sep 25 2003")
datetime.datetime(2003, 9, 25, 0, 0)

>>> parse("Sep 2003", default=DEFAULT)
datetime.datetime(2003, 9, 25, 0, 0)

>>> parse("Sep", default=DEFAULT)
datetime.datetime(2003, 9, 25, 0, 0)

>>> parse("2003", default=DEFAULT)
datetime.datetime(2003, 9, 25, 0, 0)
Run Code Online (Sandbox Code Playgroud)

为了暧昧:

>>> parse("10-09-2003")
datetime.datetime(2003, 10, 9, 0, 0)

>>> parse("10-09-2003", dayfirst=True)
datetime.datetime(2003, 9, 10, 0, 0)

>>> parse("10-09-03")
datetime.datetime(2003, 10, 9, 0, 0)

>>> parse("10-09-03", yearfirst=True)
datetime.datetime(2010, 9, 3, 0, 0)
Run Code Online (Sandbox Code Playgroud)

全体人员:

>>> parse("Wed, July 10, '96")
datetime.datetime(1996, 7, 10, 0, 0)

>>> parse("1996.07.10 AD at 15:08:56 PDT", ignoretz=True)
datetime.datetime(1996, 7, 10, 15, 8, 56)

>>> parse("Tuesday, April 12, 1952 AD 3:30:42pm PST", ignoretz=True)
datetime.datetime(1952, 4, 12, 15, 30, 42)

>>> parse("November 5, 1994, 8:15:30 am EST", ignoretz=True)
datetime.datetime(1994, 11, 5, 8, 15, 30)

>>> parse("3rd of May 2001")
datetime.datetime(2001, 5, 3, 0, 0)

>>> parse("5:50 A.M. on June 13, 1990")
datetime.datetime(1990, 6, 13, 5, 50)
Run Code Online (Sandbox Code Playgroud)

在这里看一下它的文档:

http://labix.org/python-dateutil#head-c0e81a473b647dfa787dc11e8c69557ec2c3ecd2