Hướng dẫn convert utc to local time python - chuyển đổi utc sang python giờ địa phương

Tôi chưa bao giờ phải chuyển đổi thời gian đến và từ UTC. Gần đây có một yêu cầu để ứng dụng của tôi nhận thức được Timezone và tôi đã tự mình chạy theo vòng tròn. Rất nhiều thông tin về việc chuyển đổi thời gian địa phương sang UTC, mà tôi thấy khá cơ bản (có thể tôi cũng đang làm điều đó sai), nhưng tôi không thể tìm thấy bất kỳ thông tin nào về việc dễ dàng chuyển đổi thời gian UTC sang múi giờ của người dùng cuối.

Tóm lại, ứng dụng Android sẽ gửi cho tôi dữ liệu (ứng dụng appengine) và trong dữ liệu đó là dấu thời gian. Để lưu trữ dấu thời gian đó vào thời gian UTC tôi đang sử dụng:

datetime.utcfromtimestamp(timestamp)

Điều đó dường như đang hoạt động. Khi ứng dụng của tôi lưu trữ dữ liệu, nó đang được lưu trữ trước 5 giờ (tôi là EST -5)

Dữ liệu đang được lưu trữ trên BigTable của AppEngine và khi được truy xuất, nó xuất hiện dưới dạng một chuỗi như vậy:

"2011-01-21 02:37:21"

Làm cách nào để chuyển đổi chuỗi này thành DateTime trong múi giờ chính xác của người dùng?

Ngoài ra, lưu trữ được đề xuất cho thông tin thời gian của người dùng là gì? (Làm thế nào để bạn thường lưu trữ thông tin TZ IE: "-5: 00" hoặc "EST", v.v.

Hướng dẫn convert utc to local time python - chuyển đổi utc sang python giờ địa phương

Martineau

Huy hiệu vàng 116K2525 gold badges160 silver badges285 bronze badges

hỏi ngày 22 tháng 1 năm 2011 lúc 20:14Jan 22, 2011 at 20:14

2

Nếu bạn không muốn cung cấp các đối tượng

from datetime import datetime
from dateutil import tz

# METHOD 1: Hardcode zones:
from_zone = tz.gettz('UTC')
to_zone = tz.gettz('America/New_York')

# METHOD 2: Auto-detect zones:
from_zone = tz.tzutc()
to_zone = tz.tzlocal()

# utc = datetime.utcnow()
utc = datetime.strptime('2011-01-21 02:37:21', '%Y-%m-%d %H:%M:%S')

# Tell the datetime object that it's in UTC time zone since 
# datetime objects are 'naive' by default
utc = utc.replace(tzinfo=from_zone)

# Convert time zone
central = utc.astimezone(to_zone)
1 của riêng mình, hãy xem Thư viện Python-Datesutil. Nó cung cấp các triển khai
from datetime import datetime
from dateutil import tz

# METHOD 1: Hardcode zones:
from_zone = tz.gettz('UTC')
to_zone = tz.gettz('America/New_York')

# METHOD 2: Auto-detect zones:
from_zone = tz.tzutc()
to_zone = tz.tzlocal()

# utc = datetime.utcnow()
utc = datetime.strptime('2011-01-21 02:37:21', '%Y-%m-%d %H:%M:%S')

# Tell the datetime object that it's in UTC time zone since 
# datetime objects are 'naive' by default
utc = utc.replace(tzinfo=from_zone)

# Convert time zone
central = utc.astimezone(to_zone)
1 trên cơ sở dữ liệu ZoneInfo (Olson) sao cho bạn có thể đề cập đến các quy tắc múi giờ bằng một tên chính thức.

from datetime import datetime
from dateutil import tz

# METHOD 1: Hardcode zones:
from_zone = tz.gettz('UTC')
to_zone = tz.gettz('America/New_York')

# METHOD 2: Auto-detect zones:
from_zone = tz.tzutc()
to_zone = tz.tzlocal()

# utc = datetime.utcnow()
utc = datetime.strptime('2011-01-21 02:37:21', '%Y-%m-%d %H:%M:%S')

# Tell the datetime object that it's in UTC time zone since 
# datetime objects are 'naive' by default
utc = utc.replace(tzinfo=from_zone)

# Convert time zone
central = utc.astimezone(to_zone)

Chỉnh sửa ví dụ mở rộng để hiển thị

from datetime import datetime
from dateutil import tz

# METHOD 1: Hardcode zones:
from_zone = tz.gettz('UTC')
to_zone = tz.gettz('America/New_York')

# METHOD 2: Auto-detect zones:
from_zone = tz.tzutc()
to_zone = tz.tzlocal()

# utc = datetime.utcnow()
utc = datetime.strptime('2011-01-21 02:37:21', '%Y-%m-%d %H:%M:%S')

# Tell the datetime object that it's in UTC time zone since 
# datetime objects are 'naive' by default
utc = utc.replace(tzinfo=from_zone)

# Convert time zone
central = utc.astimezone(to_zone)
3 sử dụng Expanded example to show
from datetime import datetime
from dateutil import tz

# METHOD 1: Hardcode zones:
from_zone = tz.gettz('UTC')
to_zone = tz.gettz('America/New_York')

# METHOD 2: Auto-detect zones:
from_zone = tz.tzutc()
to_zone = tz.tzlocal()

# utc = datetime.utcnow()
utc = datetime.strptime('2011-01-21 02:37:21', '%Y-%m-%d %H:%M:%S')

# Tell the datetime object that it's in UTC time zone since 
# datetime objects are 'naive' by default
utc = utc.replace(tzinfo=from_zone)

# Convert time zone
central = utc.astimezone(to_zone)
3 usage

Chỉnh sửa 2 Sử dụng API đã cố định để hiển thị phương thức điểm nhập tốt hơn Fixed API usage to show better entry point method

Chỉnh sửa 3 bao gồm các phương thức phát hiện tự động cho múi giờ (Yarin) Included auto-detect methods for timezones (Yarin)

Đã trả lời ngày 23 tháng 1 năm 2011 lúc 1:23Jan 23, 2011 at 1:23

Joe Hollowayjoe HollowayJoe Holloway

Phim thương hiệu vàng 27.5K1515 gold badges80 silver badges92 bronze badges

24

Đây là một phương pháp kiên cường không phụ thuộc vào bất kỳ thư viện bên ngoài nào:

from datetime import datetime
import time

def datetime_from_utc_to_local(utc_datetime):
    now_timestamp = time.time()
    offset = datetime.fromtimestamp(now_timestamp) - datetime.utcfromtimestamp(now_timestamp)
    return utc_datetime + offset

Điều này tránh các vấn đề thời gian trong ví dụ của Delboyjay. Và các vấn đề thời gian ít hơn trong Sửa đổi của Erik Van Oosten.

Là một chú thích thú vị, phần bù múi giờ được tính toán ở trên có thể khác với biểu thức dường như tương đương sau đây, có lẽ là do thay đổi quy tắc tiết kiệm ánh sáng ban ngày:

offset = datetime.fromtimestamp(0) - datetime.utcfromtimestamp(0) # NO!

CẬP NHẬT: Đoạn trích này có điểm yếu của việc sử dụng phần bù UTC của thời điểm hiện tại, có thể khác với phần bù UTC của DateTime đầu vào. Xem ý kiến ​​về câu trả lời này cho một giải pháp khác. This snippet has the weakness of using the UTC offset of the present time, which may differ from the UTC offset of the input datetime. See comments on this answer for another solution.

Để có được những thời điểm khác nhau, hãy lấy thời gian kỷ nguyên từ thời điểm trôi qua. Đây là những gì tôi làm:

def utc2local(utc):
    epoch = time.mktime(utc.timetuple())
    offset = datetime.fromtimestamp(epoch) - datetime.utcfromtimestamp(epoch)
    return utc + offset

Đã trả lời ngày 8 tháng 10 năm 2013 lúc 3:24Oct 8, 2013 at 3:24

David Fosterdavid FosterDavid Foster

6.1883 huy hiệu vàng38 Huy hiệu bạc38 Huy hiệu đồng3 gold badges38 silver badges38 bronze badges

7

Xem tài liệu DateTime trên các đối tượng TZINFO. Bạn phải thực hiện thời gian mà bạn muốn hỗ trợ chính mình. Các ví dụ ở dưới cùng của tài liệu.

Đây là một ví dụ đơn giản:

from datetime import datetime,tzinfo,timedelta

class Zone(tzinfo):
    def __init__(self,offset,isdst,name):
        self.offset = offset
        self.isdst = isdst
        self.name = name
    def utcoffset(self, dt):
        return timedelta(hours=self.offset) + self.dst(dt)
    def dst(self, dt):
            return timedelta(hours=1) if self.isdst else timedelta(0)
    def tzname(self,dt):
         return self.name

GMT = Zone(0,False,'GMT')
EST = Zone(-5,False,'EST')

print datetime.utcnow().strftime('%m/%d/%Y %H:%M:%S %Z')
print datetime.now(GMT).strftime('%m/%d/%Y %H:%M:%S %Z')
print datetime.now(EST).strftime('%m/%d/%Y %H:%M:%S %Z')

t = datetime.strptime('2011-01-21 02:37:21','%Y-%m-%d %H:%M:%S')
t = t.replace(tzinfo=GMT)
print t
print t.astimezone(EST)

Đầu ra

01/22/2011 21:52:09 
01/22/2011 21:52:09 GMT
01/22/2011 16:52:09 EST
2011-01-21 02:37:21+00:00
2011-01-20 21:37:21-05:00a

Đã trả lời ngày 22 tháng 1 năm 2011 lúc 21:22Jan 22, 2011 at 21:22

Hướng dẫn convert utc to local time python - chuyển đổi utc sang python giờ địa phương

Mark Tolonenmark TolonenMark Tolonen

156K24 Huy hiệu vàng163 Huy hiệu bạc237 Huy hiệu Đồng24 gold badges163 silver badges237 bronze badges

4

Nếu bạn muốn có được kết quả chính xác ngay cả trong thời gian tương ứng với thời gian địa phương mơ hồ (ví dụ: trong quá trình chuyển đổi DST) và/hoặc bù UTC cục bộ khác nhau vào các thời điểm khác nhau trong múi giờ địa phương của bạn thì hãy sử dụng thời gian

from datetime import datetime
from dateutil import tz

# METHOD 1: Hardcode zones:
from_zone = tz.gettz('UTC')
to_zone = tz.gettz('America/New_York')

# METHOD 2: Auto-detect zones:
from_zone = tz.tzutc()
to_zone = tz.tzlocal()

# utc = datetime.utcnow()
utc = datetime.strptime('2011-01-21 02:37:21', '%Y-%m-%d %H:%M:%S')

# Tell the datetime object that it's in UTC time zone since 
# datetime objects are 'naive' by default
utc = utc.replace(tzinfo=from_zone)

# Convert time zone
central = utc.astimezone(to_zone)
4:

#!/usr/bin/env python
from datetime import datetime
import pytz    # $ pip install pytz
import tzlocal # $ pip install tzlocal

local_timezone = tzlocal.get_localzone() # get pytz tzinfo
utc_time = datetime.strptime("2011-01-21 02:37:21", "%Y-%m-%d %H:%M:%S")
local_time = utc_time.replace(tzinfo=pytz.utc).astimezone(local_timezone)

Đã trả lời ngày 2 tháng 10 năm 2015 lúc 9:57Oct 2, 2015 at 9:57

JFSJFSjfs

384K183 Huy hiệu vàng949 Huy hiệu bạc1621 Huy hiệu Đồng183 gold badges949 silver badges1621 bronze badges

0

Câu trả lời này sẽ hữu ích nếu bạn không muốn sử dụng bất kỳ mô -đun nào khác ngoài

from datetime import datetime
from dateutil import tz

# METHOD 1: Hardcode zones:
from_zone = tz.gettz('UTC')
to_zone = tz.gettz('America/New_York')

# METHOD 2: Auto-detect zones:
from_zone = tz.tzutc()
to_zone = tz.tzlocal()

# utc = datetime.utcnow()
utc = datetime.strptime('2011-01-21 02:37:21', '%Y-%m-%d %H:%M:%S')

# Tell the datetime object that it's in UTC time zone since 
# datetime objects are 'naive' by default
utc = utc.replace(tzinfo=from_zone)

# Convert time zone
central = utc.astimezone(to_zone)
5.

from datetime import datetime
from dateutil import tz

# METHOD 1: Hardcode zones:
from_zone = tz.gettz('UTC')
to_zone = tz.gettz('America/New_York')

# METHOD 2: Auto-detect zones:
from_zone = tz.tzutc()
to_zone = tz.tzlocal()

# utc = datetime.utcnow()
utc = datetime.strptime('2011-01-21 02:37:21', '%Y-%m-%d %H:%M:%S')

# Tell the datetime object that it's in UTC time zone since 
# datetime objects are 'naive' by default
utc = utc.replace(tzinfo=from_zone)

# Convert time zone
central = utc.astimezone(to_zone)
6 trả về một đối tượng
from datetime import datetime
from dateutil import tz

# METHOD 1: Hardcode zones:
from_zone = tz.gettz('UTC')
to_zone = tz.gettz('America/New_York')

# METHOD 2: Auto-detect zones:
from_zone = tz.tzutc()
to_zone = tz.tzlocal()

# utc = datetime.utcnow()
utc = datetime.strptime('2011-01-21 02:37:21', '%Y-%m-%d %H:%M:%S')

# Tell the datetime object that it's in UTC time zone since 
# datetime objects are 'naive' by default
utc = utc.replace(tzinfo=from_zone)

# Convert time zone
central = utc.astimezone(to_zone)
5 ngây thơ (không phải là một nhận thức). Những người nhận thức là thời gian nhận thức được, và ngây thơ thì không. Bạn muốn nhận thức một cái nếu bạn muốn chuyển đổi giữa thời gian (ví dụ: giữa UTC và giờ địa phương).

Nếu bạn không phải là người khởi tạo ngày bắt đầu, nhưng bạn vẫn có thể tạo một đối tượng

from datetime import datetime
from dateutil import tz

# METHOD 1: Hardcode zones:
from_zone = tz.gettz('UTC')
to_zone = tz.gettz('America/New_York')

# METHOD 2: Auto-detect zones:
from_zone = tz.tzutc()
to_zone = tz.tzlocal()

# utc = datetime.utcnow()
utc = datetime.strptime('2011-01-21 02:37:21', '%Y-%m-%d %H:%M:%S')

# Tell the datetime object that it's in UTC time zone since 
# datetime objects are 'naive' by default
utc = utc.replace(tzinfo=from_zone)

# Convert time zone
central = utc.astimezone(to_zone)
5 ngây thơ trong thời gian UTC, bạn có thể muốn thử mã Python 3.x này để chuyển đổi nó:

import datetime

d=datetime.datetime.strptime("2011-01-21 02:37:21", "%Y-%m-%d %H:%M:%S") #Get your naive datetime object
d=d.replace(tzinfo=datetime.timezone.utc) #Convert it to an aware datetime object in UTC time.
d=d.astimezone() #Convert it to your local timezone (still aware)
print(d.strftime("%d %b %Y (%I:%M:%S:%f %p) %Z")) #Print it with a directive of choice

Hãy cẩn thận để không nhầm lẫn rằng nếu timezone của bạn hiện là MDT, tiết kiệm ánh sáng ban ngày không hoạt động với mã trên vì nó in MST. Bạn sẽ lưu ý rằng nếu bạn thay đổi tháng đến tháng 8, nó sẽ in MDT.

Một cách dễ dàng khác để có được một đối tượng

from datetime import datetime
from dateutil import tz

# METHOD 1: Hardcode zones:
from_zone = tz.gettz('UTC')
to_zone = tz.gettz('America/New_York')

# METHOD 2: Auto-detect zones:
from_zone = tz.tzutc()
to_zone = tz.tzlocal()

# utc = datetime.utcnow()
utc = datetime.strptime('2011-01-21 02:37:21', '%Y-%m-%d %H:%M:%S')

# Tell the datetime object that it's in UTC time zone since 
# datetime objects are 'naive' by default
utc = utc.replace(tzinfo=from_zone)

# Convert time zone
central = utc.astimezone(to_zone)
5 nhận thức (cũng trong Python 3.x) là tạo nó với một múi giờ được chỉ định để bắt đầu. Đây là một ví dụ, sử dụng UTC:

"2011-01-21 02:37:21"
0

Nếu bạn sử dụng Python 2.x, có lẽ bạn sẽ phải phân lớp

from datetime import datetime
import time

def datetime_from_utc_to_local(utc_datetime):
    now_timestamp = time.time()
    offset = datetime.fromtimestamp(now_timestamp) - datetime.utcfromtimestamp(now_timestamp)
    return utc_datetime + offset
0 và sử dụng nó để giúp bạn tạo đối tượng
from datetime import datetime
from dateutil import tz

# METHOD 1: Hardcode zones:
from_zone = tz.gettz('UTC')
to_zone = tz.gettz('America/New_York')

# METHOD 2: Auto-detect zones:
from_zone = tz.tzutc()
to_zone = tz.tzlocal()

# utc = datetime.utcnow()
utc = datetime.strptime('2011-01-21 02:37:21', '%Y-%m-%d %H:%M:%S')

# Tell the datetime object that it's in UTC time zone since 
# datetime objects are 'naive' by default
utc = utc.replace(tzinfo=from_zone)

# Convert time zone
central = utc.astimezone(to_zone)
5 nhận thức, vì
from datetime import datetime
import time

def datetime_from_utc_to_local(utc_datetime):
    now_timestamp = time.time()
    offset = datetime.fromtimestamp(now_timestamp) - datetime.utcfromtimestamp(now_timestamp)
    return utc_datetime + offset
2 không tồn tại trong Python 2.x.

Đã trả lời ngày 21 tháng 9 năm 2017 lúc 8:53Sep 21, 2017 at 8:53

Hướng dẫn convert utc to local time python - chuyển đổi utc sang python giờ địa phương

BrōtsyorfuzthrāxbrōtsyorfuzthrāxBrōtsyorfuzthrāx

4.0573 Huy hiệu vàng33 Huy hiệu bạc53 Huy hiệu Đồng3 gold badges33 silver badges53 bronze badges

0

Nếu sử dụng Django, bạn có thể sử dụng phương pháp

from datetime import datetime
import time

def datetime_from_utc_to_local(utc_datetime):
    now_timestamp = time.time()
    offset = datetime.fromtimestamp(now_timestamp) - datetime.utcfromtimestamp(now_timestamp)
    return utc_datetime + offset
3:

"2011-01-21 02:37:21"
1

Hướng dẫn convert utc to local time python - chuyển đổi utc sang python giờ địa phương

Funnydman

7.2863 Huy hiệu vàng27 Huy hiệu bạc 50 Huy hiệu Đồng3 gold badges27 silver badges50 bronze badges

Đã trả lời ngày 4 tháng 8 năm 2014 lúc 14:08Aug 4, 2014 at 14:08

Hướng dẫn convert utc to local time python - chuyển đổi utc sang python giờ địa phương

frmdssryrfrmdstryrfrmdstryr

Phim thương hiệu vàng 18,9K33 gold badges37 silver badges31 bronze badges

Hợp nhất câu trả lời từ Franksands thành một phương pháp thuận tiện.

"2011-01-21 02:37:21"
2

Đã trả lời ngày 21 tháng 2 năm 2020 lúc 5:51Feb 21, 2020 at 5:51

Hướng dẫn convert utc to local time python - chuyển đổi utc sang python giờ địa phương

MartlarkmartlarkMartlark

13.5K12 Huy hiệu vàng80 Huy hiệu bạc96 Huy hiệu đồng12 gold badges80 silver badges96 bronze badges

Bạn có thể sử dụng mũi tên

"2011-01-21 02:37:21"
3

Bạn có thể cho ăn

from datetime import datetime
import time

def datetime_from_utc_to_local(utc_datetime):
    now_timestamp = time.time()
    offset = datetime.fromtimestamp(now_timestamp) - datetime.utcfromtimestamp(now_timestamp)
    return utc_datetime + offset
4 với bất cứ điều gì. Dấu thời gian, chuỗi ISO, v.v.

Đã trả lời ngày 4 tháng 4 năm 2018 lúc 14:07Apr 4, 2018 at 14:07

d21d3qd21d3qd21d3q

3552 Huy hiệu bạc9 Huy hiệu Đồng2 silver badges9 bronze badges

1

Sau đây làm việc cho tôi trong môi trường đám mây cho chúng tôi về phía tây:

"2011-01-21 02:37:21"
4

Đã trả lời ngày 11 tháng 5 năm 2021 lúc 17:08May 11, 2021 at 17:08

JiejieJie

9821 Huy hiệu vàng10 Huy hiệu bạc17 Huy hiệu đồng1 gold badge10 silver badges17 bronze badges

0

Bạn có thể sử dụng

from datetime import datetime
import time

def datetime_from_utc_to_local(utc_datetime):
    now_timestamp = time.time()
    offset = datetime.fromtimestamp(now_timestamp) - datetime.utcfromtimestamp(now_timestamp)
    return utc_datetime + offset
5 để chuyển đổi thời gian của mình thành vài giây kể từ UNIX Epoch và
from datetime import datetime
import time

def datetime_from_utc_to_local(utc_datetime):
    now_timestamp = time.time()
    offset = datetime.fromtimestamp(now_timestamp) - datetime.utcfromtimestamp(now_timestamp)
    return utc_datetime + offset
6 để chuyển đổi trở lại:

"2011-01-21 02:37:21"
5

Cho

from datetime import datetime
import time

def datetime_from_utc_to_local(utc_datetime):
    now_timestamp = time.time()
    offset = datetime.fromtimestamp(now_timestamp) - datetime.utcfromtimestamp(now_timestamp)
    return utc_datetime + offset
7 (vì tôi đang ở UTC+03: 00 múi giờ).

Đã trả lời ngày 8 tháng 6 năm 2017 lúc 15:52Jun 8, 2017 at 15:52

Hướng dẫn convert utc to local time python - chuyển đổi utc sang python giờ địa phương

myautmyautmyaut

10,9k2 Huy hiệu vàng28 Huy hiệu bạc61 Huy hiệu Đồng2 gold badges28 silver badges61 bronze badges

"2011-01-21 02:37:21"
6

Khi tôi nhập

from datetime import datetime
import time

def datetime_from_utc_to_local(utc_datetime):
    now_timestamp = time.time()
    offset = datetime.fromtimestamp(now_timestamp) - datetime.utcfromtimestamp(now_timestamp)
    return utc_datetime + offset
8 = 2018-10-17T00: 00: 00.111z, (UTC +00: 00 00 thì tôi sẽ nhận được
from datetime import datetime
import time

def datetime_from_utc_to_local(utc_datetime):
    now_timestamp = time.time()
    offset = datetime.fromtimestamp(now_timestamp) - datetime.utcfromtimestamp(now_timestamp)
    return utc_datetime + offset
9 = 2018-10-17T08: 00: 00 +08: 00 )
then I will get
from datetime import datetime
import time

def datetime_from_utc_to_local(utc_datetime):
    now_timestamp = time.time()
    offset = datetime.fromtimestamp(now_timestamp) - datetime.utcfromtimestamp(now_timestamp)
    return utc_datetime + offset
9 = 2018-10-17T08:00:00+08:00 (My target timezone +08:00)

Tham số

offset = datetime.fromtimestamp(0) - datetime.utcfromtimestamp(0) # NO!
0 là một định dạng được xác định bởi
from datetime import datetime
import time

def datetime_from_utc_to_local(utc_datetime):
    now_timestamp = time.time()
    offset = datetime.fromtimestamp(now_timestamp) - datetime.utcfromtimestamp(now_timestamp)
    return utc_datetime + offset
8 cụ thể của bạn. Tham số
offset = datetime.fromtimestamp(0) - datetime.utcfromtimestamp(0) # NO!
2 là định dạng mong muốn cuối cùng.
parameter
offset = datetime.fromtimestamp(0) - datetime.utcfromtimestamp(0) # NO!
2 is the final desired format.

Trong trường hợp của tôi, định dạng mong muốn của tôi là

offset = datetime.fromtimestamp(0) - datetime.utcfromtimestamp(0) # NO!
3 (+08: 00 múi giờ). Bạn nên xây dựng định dạng bạn muốn.

Đã trả lời ngày 17 tháng 10 năm 2018 lúc 10:50Oct 17, 2018 at 10:50

Hướng dẫn convert utc to local time python - chuyển đổi utc sang python giờ địa phương

1

Theo truyền thống, tôi trì hoãn điều này đến mặt trận - gửi thời gian từ phần phụ trợ dưới dạng dấu thời gian hoặc một số định dạng DateTime khác trong UTC, sau đó để khách hàng tìm ra thời gian bù và hiển thị dữ liệu này theo thời gian thích hợp.

Đối với một ứng dụng web, điều này khá dễ thực hiện trong JavaScript - bạn có thể tìm ra thời gian của trình duyệt bù khá dễ dàng bằng cách sử dụng các phương thức tích hợp và sau đó hiển thị dữ liệu từ phần phụ trợ đúng cách.

Đã trả lời ngày 23 tháng 1 năm 2011 lúc 0:58Jan 23, 2011 at 0:58

1

Từ câu trả lời ở đây, bạn có thể sử dụng mô -đun thời gian để chuyển đổi từ UTC sang thời gian cục bộ được đặt trong máy tính của bạn:

"2011-01-21 02:37:21"
7

Đã trả lời ngày 13 tháng 12 năm 2018 lúc 11:52Dec 13, 2018 at 11:52

Hướng dẫn convert utc to local time python - chuyển đổi utc sang python giờ địa phương

Franksandsfranksandsfranksands

1.68418 Huy hiệu bạc21 Huy hiệu đồng18 silver badges21 bronze badges

Điều này làm việc cho tôi:

"2011-01-21 02:37:21"
8

Hướng dẫn convert utc to local time python - chuyển đổi utc sang python giờ địa phương

Zygd

Phim huy hiệu vàng 18.8K3838 gold badges70 silver badges89 bronze badges

Đã trả lời ngày 21 tháng 1 lúc 13:08Jan 21 at 13:08

Hướng dẫn convert utc to local time python - chuyển đổi utc sang python giờ địa phương

Dưới đây là phiên bản nhanh chóng và bẩn sử dụng cài đặt hệ thống cục bộ để tìm ra sự khác biệt về thời gian. Lưu ý: Điều này sẽ không hoạt động nếu bạn cần chuyển đổi thành múi giờ mà hệ thống hiện tại của bạn không chạy. Tôi đã thử nghiệm điều này với các cài đặt của Vương quốc Anh theo thời gian BST

"2011-01-21 02:37:21"
9

Đã trả lời ngày 15 tháng 4 năm 2013 lúc 9:38Apr 15, 2013 at 9:38

DelboyjaydelboyjayDelboyJay

2.6991 Huy hiệu vàng12 Huy hiệu bạc17 Huy hiệu đồng1 gold badge12 silver badges17 bronze badges

3

Ngắn và đơn giản:

from datetime import datetime
from dateutil import tz

# METHOD 1: Hardcode zones:
from_zone = tz.gettz('UTC')
to_zone = tz.gettz('America/New_York')

# METHOD 2: Auto-detect zones:
from_zone = tz.tzutc()
to_zone = tz.tzlocal()

# utc = datetime.utcnow()
utc = datetime.strptime('2011-01-21 02:37:21', '%Y-%m-%d %H:%M:%S')

# Tell the datetime object that it's in UTC time zone since 
# datetime objects are 'naive' by default
utc = utc.replace(tzinfo=from_zone)

# Convert time zone
central = utc.astimezone(to_zone)
0

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

Hướng dẫn convert utc to local time python - chuyển đổi utc sang python giờ địa phương

Eric McLachlaneric McLachlanEric McLachlan

2.6961 Huy hiệu vàng23 Huy hiệu bạc34 Huy hiệu đồng1 gold badge23 silver badges34 bronze badges

Làm thế nào để bạn chuyển đổi UTC sang giờ địa phương ở Python?

Chuyển đổi chuỗi DateTime UTC sang thời gian cục bộ..
Tạo một đối tượng DateTime từ chuỗi thời gian UTC ..
Đối tượng DateTime này sẽ không có múi giờ được liên kết với nó. ....
Chuyển đổi múi giờ của đối tượng DateTime thành múi giờ cục bộ bằng cách gọi hàm astimezone () trên đối tượng DateTime ..

Làm thế nào để bạn chuyển đổi thời gian UTC sang giờ địa phương?

Làm thế nào để chuyển đổi thời gian UTC sang thời gian địa phương..
Nhấp vào Bắt đầu, nhấp vào Chạy, Nhập Timedate. CPL, rồi bấm OK ..
Nhấp vào tab múi giờ, sau đó xác minh rằng múi giờ địa phương của bạn được chọn. Nếu múi giờ địa phương của bạn không được chọn, hãy nhấp vào danh sách các múi giờ có sẵn ..

Làm cách nào để chuyển đổi UTC sang thời gian địa phương ở Pandas?

Để chuyển đổi dấu thời gian ngây thơ sang múi giờ địa phương, hãy sử dụng dấu thời gian ...
Nhập GANDAS dưới dạng PD.Tạo dấu thời gian ngây thơ ..
Timestamp = pd.Timestamp ('2021-09-14T15: 12: 34.261811624') Thêm múi giờ ..
TIMESTAMP.TZ_LOCISIALL (TZ = 'Australia/Brisbane').Sau đây là mã ..

Làm cách nào để chuyển đổi dấu thời gian UTC thành DateTime trong Python?

Chuyển đổi thời gian UNIX (thời gian epoch) sang DateTime: Fromtimestamp ()..
Nhập DateTime DT = DateTime.ngày giờ.....
DT_UTC_AWARE = DateTime.ngày giờ.....
DT_UTC_NAIVE = DateTime.ngày giờ.....
in (dt) # 1970-01-01 09:00:00 in (dt. Timestamp ()) # 0.0 in (loại (dt. ....
in (dt_utc_aware) # 1970-01-01 00: 00: 00+00: 00 in (DT_UTC_AWARE ..