Hướng dẫn python get timezone offset from utc - python nhận được bù đắp múi giờ từ utc

Làm thế nào tôi có thể nhận được bù UTC từ tên múi giờ trong Python?

Ví dụ: Tôi có Asia/Jerusalem và tôi muốn nhận +0200

Fobersteiner

18.7K5 Huy hiệu vàng30 Huy hiệu bạc59 Huy hiệu đồng5 gold badges30 silver badges59 bronze badges

Hỏi ngày 4 tháng 4 năm 2011 lúc 11:34Apr 4, 2011 at 11:34

1

Do DST [thời gian tiết kiệm ánh sáng ban ngày], kết quả phụ thuộc vào thời gian của năm:

import datetime, pytz

datetime.datetime.now[pytz.timezone['Asia/Jerusalem']].strftime['%z']

# returns '+0300' [because 'now' they have DST]


pytz.timezone['Asia/Jerusalem'].localize[datetime.datetime[2011,1,1]].strftime['%z']

# returns '+0200' [because in January they didn't have DST]

Đã trả lời ngày 4 tháng 4 năm 2011 lúc 11:42Apr 4, 2011 at 11:42

Eumiroeumiroeumiro

200K34 Huy hiệu vàng294 Huy hiệu bạc259 Huy hiệu Đồng34 gold badges294 silver badges259 bronze badges

Bạn đã thử sử dụng dự án PYTZ và phương pháp utcoffset chưa?

e.g.

>>> import datetime
>>> import pytz
>>> pacific_now = datetime.datetime.now[pytz.timezone['US/Pacific']]
>>> pacific_now.utcoffset[].total_seconds[]/60/60
-7.0

Đã trả lời ngày 4 tháng 4 năm 2011 lúc 11:42Apr 4, 2011 at 11:42

EumiroeumiroJon Skeet

200K34 Huy hiệu vàng294 Huy hiệu bạc259 Huy hiệu Đồng840 gold badges9001 silver badges9109 bronze badges

10

Bạn đã thử sử dụng dự án PYTZ và phương pháp utcoffset chưa?

Jon Skeetjon Skeet

import pytz
system_tz = pytz.timezone[constants.TIME_ZONE]
localized_time = system_tz.localize[time_of_meeting]
fmt = "%Y%m%dT%H%M%S" + 'Z'
return localized_time.astimezone[pytz.utc].strftime[fmt]

14M840 Huy hiệu vàng9001 Huy hiệu bạc9109 Huy hiệu đồng

Tôi đã phải đối mặt với một vấn đề tương tự trong khi chuyển đổi thành dấu thời gian UTC từ đối tượng DateTime Python. DateTime của tôi là thời gian bất khả tri [rất ngây thơ] và như vậy astimezone sẽ không hoạt động.

Để giảm thiểu vấn đề, tôi đã làm cho thời gian đối tượng DateTime của mình nhận thức được và sau đó sử dụng phép thuật trên.Dec 16, 2016 at 9:07

Ở đây, constants.TIME_ZONE là nơi tôi có thời gian mặc định của các đối tượng tồn tại của mình.

import pytz
tz = pytz.timezone["Asia/Kolkata"]

import datetime
day = datetime.datetime[2021, 4, 24]

offset = tz.utcoffset[day]/3600

Hy vọng điều này sẽ giúp ai đó cố gắng chuyển đổi các đối tượng DateTime Python sang UTC. Sau khi chuyển đổi, định dạng bất kỳ cách nào bạn muốn.Feb 24 at 12:22

Đã trả lời ngày 16 tháng 12 năm 2016 lúc 9:07

import datetime
import pytz
from tzwhere import tzwhere

tzwhere = tzwhere.tzwhere[]
timezone = pytz.timezone['Asia/Jerusalem']
offSet_str = str[timezone.utcoffset[datetime.datetime.now[]]]
if offSet_str[0] != '-':
    offSet = int[offSet_str[0]]
else:
    offSet = int[offSet_str[8] + offSet_str[9]] - 24

print[offSet]

Một viễn cảnh khác từ câu trả lời của @jon Skeet, giả sử bạn đã có đối tượng

>>> import datetime
>>> import pytz
>>> pacific_now = datetime.datetime.now[pytz.timezone['US/Pacific']]
>>> pacific_now.utcoffset[].total_seconds[]/60/60
-7.0
0, ví dụ
>>> import datetime
>>> import pytz
>>> pacific_now = datetime.datetime.now[pytz.timezone['US/Pacific']]
>>> pacific_now.utcoffset[].total_seconds[]/60/60
-7.0
1:

Đã trả lời ngày 24 tháng 2 lúc 12:22Apr 9 at 18:44

1

# Ví dụ Chương trình Python in phần bù UTC # từ một phiên bản múi giờ từ DateTime Nhập Timedelta, Timezone, Time
# from a timezone instance
from datetime import timedelta, timezone, time

# Tạo một thời gian với +9 giờ là thời lượng jstoffset = TimedelTa [giờ = 9] jst = timezone [jstoffset, "giờ chuẩn Nhật Bản"]
jstOffset = timedelta[hours = 9]
jst = timezone[jstOffset, "Japanese Standard Time"]

# In bản in Offset UTC ["OFC Offset từ múi giờ:"]
print["UTC offset from time zone:"]

OFT = JST.UTCOFFSET [Không có] In [OFT] in [loại [OFT]]
print[oft]
print[type[oft]]

# Buổi chiều Nhật Bản JPLITENOON = thời gian [giờ = 13, tzinfo = jst] in ["Thời gian:"] in [JPLITENOON .__ Định dạng __ ["%i:%m%p jst"]]]
jpAfternoon = time[hour = 13, tzinfo = jst]
print["Time:"]
print[jpAfternoon.__format__["%I:%M %p JST"]]

Làm thế nào để tôi nhận được sự bù đắp UTC trong Python?

Hàm UTCoffset [] được sử dụng để trả về một đối tượng TimeDelTA đại diện cho sự khác biệt giữa thời gian cục bộ và thời gian UTC. Hàm này được sử dụng trong lớp DateTime của DateTime. Ở đây phạm vi của utcoffset là thời gian [giờ = 24]utcoffset[] function is used to return a timedelta object that represents the difference between the local time and UTC time. This function is used in used in the datetime class of module datetime. Here range of the utcoffset is “timedelta[hours=24]

Bài Viết Liên Quan

Chủ Đề