Xem thảo luận
Cải thiện bài viết
Lưu bài viết
Xem thảo luận
Cải thiện bài viết
Lưu bài viết
Đọc Datetime module
Bàn luận
Điều kiện tiên quyết: Mô -đun DateTime
Trong bài viết này, chúng tôi sẽ tìm hiểu cách lấy đối tượng DateTime từ chuỗi thời gian bằng Python.datetime.strptime[date_string, format]
Để chuyển đổi chuỗi thời gian thành đối tượng DateTime, DateTime.strptime [] hàm của mô -đun DateTime được sử dụng. Hàm này trả về đối tượng DateTime. & NBSP;
- Cú pháp: DateTime.strptime [Date_String, Format] : Specified time string containing of which datetime object is required. **Required
- Thông số : : Abbreviation format of date_string
Date_String: Chuỗi thời gian được chỉ định chứa đối tượng DateTime là bắt buộc. **Yêu cầu Returns the datetime object of given date_string
Định dạng: Định dạng viết tắt của DATE_STRING
Nghĩa | Định dạng đầu ra | %Y |
Tên viết tắt tên ngày trong tuần. | Mặt trời, mon,…, sat | %m |
Tháng dưới dạng số thập phân bằng không. | 01, 02,…, 12 | %b |
Tháng là tên địa phương viết tắt tên. | Jan, tháng 2,…, tháng 12 | %d |
Ngày trong tháng dưới dạng số thập phân số không. | 01, 02,…, 31 | %H |
Giờ [đồng hồ 24 giờ] dưới dạng số thập phân số không. & Nbsp; | 00, 01,…, 23 | %m |
Tháng dưới dạng số thập phân bằng không. | 01, 02,…, 12 | %b |
Tháng là tên địa phương viết tắt tên. | Jan, tháng 2,…, tháng 12 | %b |
Tháng là tên địa phương viết tắt tên. | Jan, tháng 2,…, tháng 12 | %d |
Ngày trong tháng dưới dạng số thập phân số không. | 01, 02,…, 31 | %H |
Giờ [đồng hồ 24 giờ] dưới dạng số thập phân số không. & Nbsp; | 00, 01,…, 23 | %TÔI |
Giờ [đồng hồ 12 giờ] là một số thập phân bằng không. Converting datetime string to datetime
Python3
%M
Phút như một số thập phân bằng không.
print
>>> import datetime
>>> datetime.datetime.fromisoformat['2012-11-01T04:16:13-04:00']
datetime.datetime[2012, 11, 1, 4, 16, 13, tzinfo=datetime.timezone[datetime.timedelta[days=-1, seconds=72000]]]
0>>> import datetime
>>> datetime.datetime.fromisoformat['2012-11-01T04:16:13-04:00']
datetime.datetime[2012, 11, 1, 4, 16, 13, tzinfo=datetime.timezone[datetime.timedelta[days=-1, seconds=72000]]]
1>>> import datetime
>>> datetime.datetime.fromisoformat['2012-11-01T04:16:13-04:00']
datetime.datetime[2012, 11, 1, 4, 16, 13, tzinfo=datetime.timezone[datetime.timedelta[days=-1, seconds=72000]]]
2print
>>> import datetime
>>> datetime.datetime.fromisoformat['2012-11-01T04:16:13-04:00']
datetime.datetime[2012, 11, 1, 4, 16, 13, tzinfo=datetime.timezone[datetime.timedelta[days=-1, seconds=72000]]]
4print
>>> import datetime
>>> datetime.datetime.fromisoformat['2012-11-01T04:16:13-04:00']
datetime.datetime[2012, 11, 1, 4, 16, 13, tzinfo=datetime.timezone[datetime.timedelta[days=-1, seconds=72000]]]
0>>> import datetime
>>> datetime.datetime.fromisoformat['2012-11-01T04:16:13-04:00']
datetime.datetime[2012, 11, 1, 4, 16, 13, tzinfo=datetime.timezone[datetime.timedelta[days=-1, seconds=72000]]]
7>>> import datetime
>>> datetime.datetime.fromisoformat['2012-11-01T04:16:13-04:00']
datetime.datetime[2012, 11, 1, 4, 16, 13, tzinfo=datetime.timezone[datetime.timedelta[days=-1, seconds=72000]]]
8>>> import datetime
>>> datetime.datetime.fromisoformat['2012-11-01T04:16:13-04:00']
datetime.datetime[2012, 11, 1, 4, 16, 13, tzinfo=datetime.timezone[datetime.timedelta[days=-1, seconds=72000]]]
9>>> import iso8601
>>> iso8601.parse_date['2012-11-01T04:16:13-04:00']
datetime.datetime[2012, 11, 1, 4, 16, 13, tzinfo=]
000, 01,…, 59
>>> import iso8601
>>> iso8601.parse_date['2012-11-01T04:16:13-04:00']
datetime.datetime[2012, 11, 1, 4, 16, 13, tzinfo=]
4>>> import iso8601
>>> iso8601.parse_date['2012-11-01T04:16:13-04:00']
datetime.datetime[2012, 11, 1, 4, 16, 13, tzinfo=]
5>>> import iso8601
>>> iso8601.parse_date['2012-11-01T04:16:13-04:00']
datetime.datetime[2012, 11, 1, 4, 16, 13, tzinfo=]
6>>> import datetime
>>> datetime.datetime.fromisoformat['2012-11-01T04:16:13-04:00']
datetime.datetime[2012, 11, 1, 4, 16, 13, tzinfo=datetime.timezone[datetime.timedelta[days=-1, seconds=72000]]]
2print
>>> import datetime
>>> datetime.datetime.fromisoformat['2012-11-01T04:16:13-04:00']
datetime.datetime[2012, 11, 1, 4, 16, 13, tzinfo=datetime.timezone[datetime.timedelta[days=-1, seconds=72000]]]
0>>> from datetime import datetime
>>> iso_ts = '2012-11-01T04:16:13-04:00'
>>> datetime.strptime[''.join[iso_ts.rsplit[':', 1]], '%Y-%m-%dT%H:%M:%S%z']
datetime.datetime[2012, 11, 1, 4, 16, 13, tzinfo=datetime.timezone[datetime.timedelta[-1, 72000]]]
0>>> import datetime
>>> datetime.datetime.fromisoformat['2012-11-01T04:16:13-04:00']
datetime.datetime[2012, 11, 1, 4, 16, 13, tzinfo=datetime.timezone[datetime.timedelta[days=-1, seconds=72000]]]
2print
>>> from datetime import datetime
>>> iso_ts = '2012-11-01T04:16:13-04:00'
>>> datetime.strptime[''.join[iso_ts.rsplit[':', 1]], '%Y-%m-%dT%H:%M:%S%z']
datetime.datetime[2012, 11, 1, 4, 16, 13, tzinfo=datetime.timezone[datetime.timedelta[-1, 72000]]]
3%S
Output:
string datetime: 2021-09-01 15:27:05.004573 +0530 datestring class is : converted to datetime: 2021-09-01 15:27:05.004573+05:30 datetime_obj class is :
Thứ hai là một số thập phân bằng không. Converting datetime string to datetime
Python3
%M
Phút như một số thập phân bằng không.
00, 01,…, 59
print
>>> from datetime import datetime
>>> iso_ts = '2012-11-01T04:16:13-04:00'
>>> datetime.strptime[''.join[iso_ts.rsplit[':', 1]], '%Y-%m-%dT%H:%M:%S%z']
datetime.datetime[2012, 11, 1, 4, 16, 13, tzinfo=datetime.timezone[datetime.timedelta[-1, 72000]]]
3Output:
%S
Thứ hai là một số thập phân bằng không.
%fConverting datetime string to datetime
Python3
%M
Phút như một số thập phân bằng không.
00, 01,…, 59
print
>>> from datetime import datetime
>>> iso_ts = '2012-11-01T04:16:13-04:00'
>>> datetime.strptime[''.join[iso_ts.rsplit[':', 1]], '%Y-%m-%dT%H:%M:%S%z']
datetime.datetime[2012, 11, 1, 4, 16, 13, tzinfo=datetime.timezone[datetime.timedelta[-1, 72000]]]
3Output:
%S
Kể từ Python 3.7, date_string
4 có thể xử lý định dạng của bạn:
>>> import datetime
>>> datetime.datetime.fromisoformat['2012-11-01T04:16:13-04:00']
datetime.datetime[2012, 11, 1, 4, 16, 13, tzinfo=datetime.timezone[datetime.timedelta[days=-1, seconds=72000]]]
Trong các phiên bản Python cũ hơn, bạn không thể, không phải là không có nhiều thời gian thủ công miệt mài xác định.
Python không bao gồm cơ sở dữ liệu múi giờ, bởi vì nó sẽ lỗi thời quá nhanh. Thay vào đó, Python dựa vào các thư viện bên ngoài, có thể có chu kỳ phát hành nhanh hơn nhiều, để cung cấp thời gian được cấu hình đúng cho bạn.
Như một tác dụng phụ, điều này có nghĩa là phân tích cú pháp múi giờ cũng cần phải là một thư viện bên ngoài. Nếu date_string
5 quá nặng đối với bạn, hãy sử dụng date_string
6, nó sẽ phân tích định dạng cụ thể của bạn chỉ tốt:
>>> import iso8601
>>> iso8601.parse_date['2012-11-01T04:16:13-04:00']
datetime.datetime[2012, 11, 1, 4, 16, 13, tzinfo=]
date_string
6 là một con số khổng lồ 4kb nhỏ. So sánh đó là 148kb của Tot ____ ____ 68.
Kể từ Python 3.2 Python có thể xử lý múi giờ dựa trên độ bù đơn giản và date_string
9 sẽ phân tích các lần giảm thời gian =
0 và =
1 trong dấu thời gian. Điều đó có nghĩa là đối với dấu thời gian ISO 8601, bạn phải loại bỏ =
2 trong múi giờ:
>>> from datetime import datetime
>>> iso_ts = '2012-11-01T04:16:13-04:00'
>>> datetime.strptime[''.join[iso_ts.rsplit[':', 1]], '%Y-%m-%dT%H:%M:%S%z']
datetime.datetime[2012, 11, 1, 4, 16, 13, tzinfo=datetime.timezone[datetime.timedelta[-1, 72000]]]
Việc thiếu phân tích cú pháp ISO 8601 thích hợp đang được theo dõi trong số liệu Python 15873.