[英]How do I strtotime in python?
我正在抓一個包含日期信息等內容的頁面。 所以我有一個名為warrant_issued
的變量,其中包含u'11/5/2003'
- 我想將其存儲為機器可讀日期。 PHP有一個方便的strtotime
功能,非常有效。 我希望datetime的strptime可以幫助我,但它似乎在我的datetime
版本中沒有 - 這是我的標簽中的所有內容都在datetime.
完成datetime.
In [231]: datetime.
datetime.MAXYEAR datetime.__hash__ datetime.__sizeof__
datetime.MINYEAR datetime.__init__ datetime.__str__
datetime.__class__ datetime.__name__ datetime.__subclasshook__
datetime.__delattr__ datetime.__new__ datetime.date
datetime.__dict__ datetime.__package__ datetime.datetime
datetime.__doc__ datetime.__reduce__ datetime.datetime_CAPI
datetime.__file__ datetime.__reduce_ex__ datetime.time
datetime.__format__ datetime.__repr__ datetime.timedelta
datetime.__getattribute__ datetime.__setattr__ datetime.tzinfo
我正在使用iPython 2.7.2+
我在這里吠叫錯了嗎? 將u'11/5/2003'
變成約會的最佳方法是什么?
strptime()
絕對是正確的方法,它只是datetime
類的一個類方法(令人困惑的是datetime
模塊的一部分)。
也就是說, datetime.datetime.strptime()
就是你要找的東西(而不是datetime.strptime()
。
嘗試這個:
與datetime module
, 此處提供文檔
>>>import datetime
>>>a = u'11/5/2003'
>>>time1 = datetime.datetime.strptime(a, "%m/%d/%Y")
>>>print time1
datetime.datetime(2003, 11, 5, 0, 0)
在ipython
:
In [1]: import datetime
In [2]: a = u'11/5/2003'
In [3]: time1 = datetime.datetime.strptime(a, "%m/%d/%Y")
In [4]: print time1
2003-11-05 00:00:00
使用time module
,文檔在這里
>>>import time
>>>a = u'11/5/2003'
>>>time1 = time.strptime(a, "%m/%d/%Y")
>>>print time1
time.struct_time(tm_year=2003, tm_mon=11, tm_mday=5, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=2, tm_yday=309, tm_isdst=-1)
感謝@David Cain的評論回復:
dateutil庫可以解析日期時間字符串(推斷其格式)。 但請注意,“11/5/2003”不是一種明確的格式(MM / DD或DD / MM因區域設置而異),因此在這種情況下應謹慎使用dateutil。 - 大衛凱恩
所以另一種好的做法是使用dateutil庫:
>>> from dateutil.parser import parse
>>> dt = parse('2016/12/05 05:18 pm')
>>> dt
datetime.datetime(2016, 12, 5, 17, 18)
>>> dt.timestamp()
1480929480.0
>>> parse('16/11/12')
>>> datetime.datetime(2012, 11, 16, 0, 0)
您在PHP中使用的strtotime
可能與dateparser
最相似。
請注意,如果您沒有dateparser
庫。
安裝它
pip3 install dateparser
如果你正在使用conda
conda install dateparser
該庫可以理解超過200種語言區域以及與語言無關的多種格式。
解析通用術語也有效:
import dateparser
print (dateparser.parse('yesterday')) #2019-05-19 08:08:14.934992
並且還支持非公歷日歷系統。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.