Câu trả lời:
import datetime
datetime.datetime.strptime('24052010', '%d%m%Y').date()
Câu hỏi liên quan trực tiếp:
Nếu bạn có
datetime.datetime.strptime("2015-02-24T13:00:00-08:00", "%Y-%B-%dT%H:%M:%S-%H:%M").date()
và bạn nhận được:
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/local/lib/python2.7/_strptime.py", line 308, in _strptime
format_regex = _TimeRE_cache.compile(format)
File "/usr/local/lib/python2.7/_strptime.py", line 265, in compile
return re_compile(self.pattern(format), IGNORECASE)
File "/usr/local/lib/python2.7/re.py", line 194, in compile
return _compile(pattern, flags)
File "/usr/local/lib/python2.7/re.py", line 251, in _compile
raise error, v # invalid expression
sre_constants.error: redefinition of group name 'H' as group 7; was group 4
và bạn đã thử:
<-24T13:00:00-08:00", "%Y-%B-%dT%HH:%MM:%SS-%HH:%MM").date()
nhưng bạn vẫn nhận được dấu vết ở trên.
Câu trả lời:
>>> from dateutil.parser import parse
>>> from datetime import datetime
>>> parse("2015-02-24T13:00:00-08:00")
datetime.datetime(2015, 2, 24, 13, 0, tzinfo=tzoffset(None, -28800))
Nếu bạn lười biếng và không muốn chiến đấu với chuỗi ký tự, bạn chỉ có thể đi với parser
mô-đun.
from dateutil import parser
dt = parser.parse("Jun 1 2005 1:33PM")
print(dt.year, dt.month, dt.day,dt.hour, dt.minute, dt.second)
>2005 6 1 13 33 0
Chỉ là một lưu ý phụ , vì chúng tôi đang cố gắng khớp với any
biểu diễn chuỗi, nó chậm hơn 10 lần so vớistrptime
Monday, June 03, 2019
bạn có một chuỗi ngày như thế này, "24052010" và bạn muốn đối tượng ngày cho điều này,
from datetime import datetime
cus_date = datetime.strptime("24052010", "%d%m%Y").date()
cus_date này sẽ cung cấp cho bạn đối tượng ngày.
bạn có thể truy xuất chuỗi ngày từ đối tượng ngày của mình bằng cách này,
cus_date.strftime("%d%m%Y")
1900
. Sự cố xảy ra khi phân tích ngày tháng hai như '2902'. Tôi nhận được lỗi nàyValueError: day is out of range for month
. Không chắc chắn làm thế nào tôi có thể đặt năm mặc định trong khi phân tích cú pháp.