Tôi đang viết một ứng dụng Python chuyển đổi các tệp YML thành các trang HTML tĩnh cho blog của tôi [Trình tạo trang web tĩnh]. Tôi muốn thêm nguồn cấp dữ liệu RSS. Ở một nơi nào đó tôi đọc rằng ngày xuất bản phải là:
Wed, 05 Jul 2017 18:38:23 GMT
Nhưng tôi có:
2017-07-05T18:38:23+00:00
API
2017-07-05T18:38:23+00:00
1 từ Python thực sự rất cồng kềnh về những điều này. Làm thế nào để chuyển đổi chuỗi 2017-07-05T18:38:23+00:00
2 thành GMT?Cảm ơn trong Avified.
Hỏi ngày 1 tháng 8 năm 2017 lúc 21:38Aug 1, 2017 at 21:38
Junihhjunihhjunihh
4831 Huy hiệu vàng9 Huy hiệu bạc22 Huy hiệu đồng1 gold badge9 silver badges22 bronze badges
6
import datetime
basedate="2017-07-05T18:38:23+00:00"
formatfrom="%Y-%m-%dT%H:%M:%S+00:00"
formatto="%a %d %b %Y, %H:%M:%S GMT"
print datetime.datetime.strptime[basedate,formatfrom].strftime[formatto]
Sẽ trả lại cho bạn bản sao chính xác: Thứ tư 05 tháng 7 năm 2017, 18:38:23 GMT
Nguồn của tôi cho các định dạng: //strftime.org/
Đã trả lời ngày 1 tháng 8 năm 2017 lúc 21:48Aug 1, 2017 at 21:48
WngwngWNG
3.5452 Huy hiệu vàng21 Huy hiệu bạc29 Huy hiệu đồng2 gold badges21 silver badges29 bronze badges
1
Mặc dù các câu trả lời khác là chính xác, tôi luôn sử dụng mũi tên để đối phó với thời gian ngày ở Python, nhưng nó rất dễ sử dụng.
Ví dụ cho bạn, bạn chỉ có thể làm
import arrow
utc = arrow.utcnow[]
local = utc.to['US/Pacific']
local.format['YYYY-MM-DD HH:mm:ss ZZ']
Các tài liệu chứa nhiều thông tin hơn.
Đã trả lời ngày 2 tháng 8 năm 2017 lúc 6:39Aug 2, 2017 at 6:39
Salmaan Psalmaan pSalmaan P
7271 Huy hiệu vàng9 Huy hiệu bạc28 Huy hiệu đồng1 gold badge9 silver badges28 bronze badges
Tôi thực sự khuyên bạn nên sử dụng DateUtil, một phần mở rộng thực sự mạnh mẽ cho DateTime. Nó có trình phân tích cú pháp mạnh mẽ, cho phép phân tích cú pháp bất kỳ định dạng đầu vào nào của DateTime đến một đối tượng DateTime. Sau đó, bạn có thể định dạng lại nó theo định dạng đầu ra mong muốn của bạn.
Điều này sẽ trả lời nhu cầu của bạn:
from dateutil import parser
original_date = parser.parse["2017-07-05T18:38:23+00:00"]
required_date = original_date.strftime["%a %d %b %Y, %H:%M:%S GMT"]
Đã trả lời ngày 1 tháng 8 năm 2017 lúc 21:52Aug 1, 2017 at 21:52
OrioriOri
1.57019 huy hiệu bạc24 Huy hiệu đồng19 silver badges24 bronze badges
2
Hướng dẫn này trình bày cách chuyển đổi múi giờ của đối tượng DateTime sang múi giờ khác như CET, CST, EAT, EST và UTC trong ngôn ngữ lập trình Python.
Bài viết này chứa các phần dưới đây:
Hãy cùng đi sâu vào mã Python!
Nhập mô -đun DateTime & Tạo dữ liệu ví dụ
Bước đầu tiên, chúng tôi phải nhập mô -đun DateTime vào Python:
from datetime import datetime
Để chỉ định các múi giờ khác nhau trong Python, chúng tôi cũng phải tải mô -đun PYTZ:
Bây giờ, chúng ta có thể tạo một đối tượng DateTime với múi giờ UTC bằng cách áp dụng mã Python bên dưới:
my_datetime = datetime[2023, 2, 13, 17, 10, 27, tzinfo = pytz.utc] print[my_datetime] # 2023-02-13 17:10:27+00:00
Chúng tôi cũng có thể định dạng đối tượng DateTime của mình để hiển thị múi giờ bằng hàm strftime:
my_datetime_utc = my_datetime.strftime['%Y-%m-%d %H:%M:%S %Z%z'] print[my_datetime_utc] # 2023-02-13 17:10:27 UTC+0000
Như bạn có thể thấy, ngày và thời gian của chúng tôi là ngày 13 tháng 2 năm 2023 lúc 05:10:27 tối.
Hãy để chuyển đổi ngày và thời gian này sang các múi giờ khác nhau.
Ví dụ 1: Chuyển đổi DateTime thành múi giờ CET
Nếu chúng ta muốn chuyển đổi một đối tượng DateTime sang múi giờ CET, chúng ta có thể sử dụng hàm Astimezone và múi giờ ‘Châu Âu/Berlin, như được hiển thị bên dưới:
my_datetime_cet = my_datetime.astimezone[pytz.timezone['Europe/Berlin']].strftime['%Y-%m-%d %H:%M:%S %Z%z'] print[my_datetime_cet] # 2023-02-13 18:10:27 CET+0100
Ví dụ 2: Chuyển đổi DateTime thành Múi giờ CST
Tương tự như mã Python của ví dụ 1, chúng ta có thể chuyển đổi đối tượng DateTime ví dụ của mình thành CST bằng cách chỉ định ‘chúng ta/trung tâm trong hàm múi giờ:
my_datetime_cst = my_datetime.astimezone[pytz.timezone['US/Central']].strftime['%Y-%m-%d %H:%M:%S %Z%z'] print[my_datetime_cst] # 2023-02-13 11:10:27 CST-0600
Ví dụ 3: Chuyển đổi DateTime thành múi giờ EST
Trong trường hợp chúng tôi muốn chuyển đổi múi giờ của chúng tôi sang EST, chúng tôi phải chỉ định ‘chúng tôi/phương Đông:
2017-07-05T18:38:23+00:00
0Video, Tài nguyên & Tóm tắt
Bạn có cần giải thích thêm về cách thay đổi múi giờ của các đối tượng DateTime trong Python không? Sau đó, bạn nên xem video sau đây của Kênh YouTube TechnologyCult.
Trong video, loa giải thích cách chuyển đổi các múi giờ bằng gói PYTZ trong Python.
Không đủ? Bạn có thể xem xét một số hướng dẫn khác ở đây trên Quả cầu Thống kê:
- Chuyển đổi thời gian kỷ nguyên sang đối tượng DateTime & ngược lại trong Python
- Làm cho múi giờ Datetime không biết trong Python
- Chuyển đổi DateTime thành Unix Timestamp trong Python
- Chuyển đổi đối tượng DateTime sang múi giờ cục bộ
- Hướng dẫn lập trình Python
Bài đăng này đã chỉ ra cách chuyển đổi các đối tượng DateTime sang các múi giờ khác trong ngôn ngữ lập trình Python.transform datetime objects to other time zones in the Python programming language.
Lưu ý rằng chúng tôi có thể sử dụng mã của hướng dẫn này để chuyển đổi các đối tượng DateTime sang nhiều vùng thời gian khác như AEST, ACST, AFT, AKST, AST, CAT, EET, MSK, MST, PST, WAT và WET. Chúng tôi chỉ đơn giản là phải chỉ định vùng tương ứng trong hàm múi giờ.
Trong trường hợp bạn có thêm câu hỏi, bạn có thể để lại một bình luận bên dưới.
Hướng dẫn này được tạo ra với sự hợp tác của Gottumukkala Sravan Kumar. Xin vui lòng xem trang tác giả Gottumukkala, để có thêm thông tin về nền tảng học tập của anh ấy và các bài báo khác mà anh ấy đã viết cho Quả cầu Thống kê.