Trong bài viết này, chúng tôi sẽ thảo luận về cách chuyển đổi DateTime địa phương sang UTC Timezone trong Python. Giả sử bạn đang ở trong một múi giờ không phải là UTC. Nhưng bạn có một datetime trong timezone địa phương của bạn và bạn muốn chuyển đổi nó thành UTC Timezone. Ví dụ: nếu bạn đang ở châu Á/calcutta múi giờ và dấu thời gian trong múi giờ địa phương của bạn là, Bây giờ bạn muốn chuyển đổi nó thành UTC Timezone và kết quả sẽ giống như, Trước khi chúng ta bắt đầu xem xét các giải pháp, một điểm quan trọng cần hiểu là các giải pháp này sẽ áp dụng cho tất cả các múi giờ. Điều đó có nghĩa là, bất kể thời gian địa phương của bạn là gì, bạn có thể dễ dàng chuyển đổi DateTime thành định dạng UTC bằng các giải pháp này. Hãy bắt đầu nhìn vào chúng từng cái một. Chúng tôi sẽ sử dụng mô -đun DateTime cho việc này. Đầu tiên, chúng tôi sẽ tạo một đối tượng DateTime từ một chuỗi. Đối tượng DateTime này sẽ không có múi giờ được liên kết với nó và nó có nghĩa là nó có thể được xem xét là thời gian địa phương. Sau đó, chúng tôi sẽ thay đổi múi giờ của đối tượng DateTime thành UTC bằng cách gọi hàm astimezone [] trên đối tượng DateTime.astimezone[] function on the datetime object. Quảng cáo Hàm astimezone [] chấp nhận một thể hiện múi giờ tz như một đối số. Nó trả về một thể hiện DateTime mới theo tham số múi giờ được chỉ định TZ, tức là, nó chuyển đổi thời gian trong cuộc gọi DateTime thành múi giờ được chỉ định và trả về một đối tượng DateTime mới chứa nó.astimezone[] function accepts a timezone instance tz as an argument. It returns a new DateTime instance according to the specified time zone parameter tz, i.e., it converts the time in
calling datetime to the specified timezone and returns a new datetime object containing it. Hãy để sử dụng điều này để chuyển đổi thời gian địa phương sang UTC, tức là. Output: Thay vì chuỗi, nếu bạn đã có đối tượng DateTime với timezone cục bộ [hoặc thời gian null], chúng ta có thể chuyển đổi nó trực tiếp thành đối tượng DateTime bằng thời gian UTC bằng cách sử dụng astimezone []. Ví dụ, Output:10/21/2021 08:18:19
10/21/2021 02:48:19
from datetime import datetime
import pytz
dt_str = "10/21/2021 8:18:19"
format = "%m/%d/%Y %H:%M:%S"
# Create datetime object in local timezone
local_dt = datetime.strptime[dt_str, format]
print['Datetime in Local Time zone: ', local_dt]
# Convert local datetime to UTC time-zone datetime
dt_utc = local_dt.astimezone[pytz.UTC]
print['Datetime in UTC Time zone: ', dt_utc]
dt_utc_str = dt_utc.strftime[format]
print['Datetime string in UTC Time zone: ', dt_utc_str]
Datetime in Local Time zone: 2021-10-21 08:18:19
Datetime in UTC Time zone: 2021-10-21 02:48:19+00:00
Datetime string in UTC Time zone: 10/21/2021 02:48:19
Chuyển đổi múi giờ của đối tượng DateTime từ cục bộ sang UTC trong Python
from datetime import datetime
import pytz
# Create datetime object in local timezone
local_dt = datetime[2021, 10, 4, 9, 10, 34, 300030]
print['Datetime in Local Time zone: ', local_dt]
# Convert local datetime to UTC time-zone datetime
dt_utc = local_dt.astimezone[pytz.UTC]
print['Datetime in UTC Time zone: ', dt_utc]
Datetime in Local Time zone: 2021-10-04 09:10:34.300030 Datetime in UTC Time zone: 2021-10-04 03:40:34.300030+00:00
Chuyển đổi giờ địa phương hiện tại sang UTC trong Python
Giả sử chúng ta có một đối tượng DateTime có chứa thời gian hiện tại trong timezone cục bộ và nó có thông tin múi giờ được liên kết với nó. Sử dụng astimezone [], chúng ta có thể chuyển đổi nó thành utc timezone và nhận UTC hiện tại. Đối với điều đó, chúng tôi sẽ chuyển pytz.utc như là đối số cho hàm astimezone []. Ví dụ,astimezone[], we can convert it to UTC timezone and get the current UTC. For that, we will pass the pytz.UTC as argument to astimezone[] function. For example,
from datetime import datetime import pytz # Get current time in local timezone local_dt = datetime.now[] print['Current Local Time: ', local_dt] # Convert local to UTC timezone dt_utc = local_dt.astimezone[pytz.UTC] print['Current time in UTC Time-zone: ', dt_utc]
Output:
Current Local Time: 2021-10-17 10:12:55.502825 Current time in UTC Time-zone: 2021-10-17 04:42:55.502825+00:00
Summary:
Chúng tôi đã học cách chuyển đổi thời gian địa phương sang UTC Timezone trong Python.
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:
10/21/2021 02:48:190
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:
10/21/2021 02:48:191
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ờ:
10/21/2021 02:48:192
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:
10/21/2021 02:48:193
Video, 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ê.