Python | Saat dilimi dönüştürme

| | | | | | | |

Python tarih ve saat öğeleri, saf veya özenli olabilir. Datetime öğesinin tzinfo olması durumunda, bu noktada bilir. Başka bir şey, tarih ve saat saf. Bir datetime nesnesinin saat dilimini netleştirmek için, soyut bir temel sınıf olan tzinfo tanımlayın. Her durumda, Python tarih saat kitaplığı, tzinfo için kavramsal temel sınıfı karakterize eder ve tzinfo`nun yaratılmasını gerçekten gerçekleştirmeyi başkalarına bırakır. Burası tz dateutil modülünün — OS saat dilimi bilgilerinizden yukarı akış saat dilimlerini değiştirmek için gereken her şeyi verir.

Ayar:

Yüklemek için pip veya easy_install dateutil kullanın. İşletim sisteminin saat dilimi verilerine sahip olduğundan emin olun.

Linux`ta bu genellikle / usr / share / zoneinfo içinde bulunur ve Ubuntu paketine tzdata adı verilir. Amerika / ve Avrupa / gibi / usr / share / zoneinfo içindeki dosya ve dizinlerin sayısı durumunda, devam etmeye hazırdır.

< güçlü>UTC nesnesini al tzinfo — tz.tzutc()

öğesini çağırarak class = "plain"> dateutil import tz

tz.tzutc ()

tzutc()

< UTC tarih / saat nesnesi ile code>utcoffset () yöntemi.


import tarihsaat

tz.tzutc(). utcoffset (datetime.datetime.utcnow ())

datetime.timedelta (0) 

diğer saat dilimleri için tzinfo nesneleri almak için gettz () içindeki dosya saat dilimi.


tz.gettz ( `ABD / Pasifik` )

< /table>

tzfile (`/ usr / share / zoneinfo / ABD / Pasifik`) 

< / p>

tz.gettz ( `Avrupa / Paris` )

tzfile(`/usr/share/zoneinfo/Europe/Paris` )

tz.gettz ( `ABD / Pasifik ` ). utcoffset (datetime.datetime.utcnow ())

datetime.timedelta (-1, 61200) 

Değiştirmek için UTC`den UTC`ye farklı bir saat ve tarih öğesi, saat dilimini hatırlamanız gerekir. Güvenilir zamanı UTC olarak değiştirmeye çalışırsanız, ValueError istisnası alırsınız. Saf tarih saat saat dilimini hatırlamak için, temel olarak istediğiniz tzinfo ile replace () stratejisini çağırırsınız. Datetime öğesi tzinfo`ya sahip olduğunda, UTC, tz.tzutc () ile astimezone() yöntemi çağrılarak bu noktada değiştirilebilir.

< / p>

abc = tz.gettz ( `ABD / Pasifik` )

dat = datetime.datetime ( 2010 , 9 , 25 , 10 , 36 )

dat.tzinfo
dat.astimezone (tz. tzutc ())

Geri izleme (en son çağrı en son): Dosya "/u sr/lib/python2.6/doctest.py", satır 1228, __run compileflags içinde, 1) test.globs Dosyasında "", satır 1, dat.astimezone`da (tz.tzutc ()) ValueError: astimezone () olamaz saf bir tarih saatine uygulanabilir 

dat.replace (tzinfo = abc)

datetime.datetime (2010, 9, 25, 10, 36, tzinfo = tzfile (`/ usr / share / zoneinfo / ABD / Pasifik`)) 

Her şey işin arkasında —

  • tzutc ve tzfile öğeleri, tzinfo`nun iki alt sınıfıdır.
  • Her şey düşünüldüğünde, saat dilimini değiştirmek için doğru UTC farkını biliyorlar (tzutc için 0) .
  • tzfile öğesi, temel karşı ağırlık bilgileri için çalışma yapısı zoneinfo belgelerinin nasıl taranacağını anlar.
  • nta datetime öğesi için replace() stratejisi, — niteliklerin yerini alır.
  • Bir tarih saatinde bir tzinfo olduğunda, astimezone () stratejisi büyük olasılıkla UTC karşı ağırlıklarını kullanarak zamanı hesaba katacak ve ardından mevcut tzinfo`yu yeni bir tzinfo ile değiştirecektir.

Kod: Tanınmayan saat dilimlerini algılamak için tzinfos anahtar kelime bağımsız değişkenini dateutil ayrıştırıcısına iletin


parser.parse ( `4 Ağustos 2010, Çarşamba, 18:30 (CDT)` ,

bulanık = True )

tarih saat. tarihsaat (2010, 8, 4, 18, 30) 

tzinfos = { `CDT` : tz.gettz ( ` US / Central` )}

parser.parse ( `4 Ağustos 2010, Çarşamba, 18:30 (CDT)` ,

bulanık = True , tzinfos = tzinfos)

datetime.datetime (2010, 8, 4, 18, 30, tzinfo = tzfile (`/ usr / share / zoneinfo / ABD / Merkez`)) 

Shop

Learn programming in R: courses

$

Best Python online courses for 2022

$

Best laptop for Fortnite

$

Best laptop for Excel

$

Best laptop for Solidworks

$

Best laptop for Roblox

$

Best computer for crypto mining

$

Best laptop for Sims 4

$

Latest questions

NUMPYNUMPY

psycopg2: insert multiple rows with one query

12 answers

NUMPYNUMPY

How to convert Nonetype to int or string?

12 answers

NUMPYNUMPY

How to specify multiple return types using type-hints

12 answers

NUMPYNUMPY

Javascript Error: IPython is not defined in JupyterLab

12 answers


Wiki

Python OpenCV | cv2.putText () method

numpy.arctan2 () in Python

Python | os.path.realpath () method

Python OpenCV | cv2.circle () method

Python OpenCV cv2.cvtColor () method

Python - Move item to the end of the list

time.perf_counter () function in Python

Check if one list is a subset of another in Python

Python os.path.join () method