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

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

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

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

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) <= offset <= timedelta(hours=24)”.

Làm thế nào để bạn chuyển đổi thời gian UTC sang thời gian khác trong Python?

Chuyển đổi giữa thời gian sử dụng DateTime.Phương thức ASTIMEZONE () để chuyển đổi DateTime từ thời gian này sang phương thức khác.Phương thức này sử dụng một thể hiện của đối tượng DateTime và trả về một datetime mới của một múi giờ nhất định.Use the datetime. astimezone() method to convert the datetime from one timezone to another. This method uses an instance of the datetime object and returns a new datetime of a given timezone.

Làm thế nào để bạn tìm thấy bù UTC?

Phương thức JavaScript getTimeZoneOffset () được sử dụng để tìm phần bù múi giờ.Nó trả về sự khác biệt về múi giờ trong vài phút, giữa UTC và giờ địa phương hiện tại.Nếu giá trị trả về là dương, timezone cục bộ đứng sau UTC và nếu nó âm, thì timezone địa phương nếu đi trước UTC. is used to find the timezone offset. It returns the timezone difference in minutes, between the UTC and the current local time. If the returned value is positive, local timezone is behind the UTC and if it is negative, the local timezone if ahead of UTC.

Làm thế nào để bạn sử dụng bù UTC?

.Ví dụ: nếu bù thời gian địa phương của bạn là -5: 00 và nếu thời gian UTC được hiển thị là 11:00, hãy thêm -5 đến 11. Cài đặt thời gian khi được điều chỉnh cho bù là 06:00 (6:00 A.M.).Lưu ý ngày cũng theo định dạng UTC.Add the local time offset to the UTC time. For example, if your local time offset is -5:00, and if the UTC time is shown as 11:00, add -5 to 11. The time setting when adjusted for offset is 06:00 (6:00 A.M.). Note The date also follows UTC format.