Python datetime

Arkadaslar bir siteden çektiğim saati kendi saat dilimime nasıl çevirebilirim mesela utc saat dilimi Türkiye’ye göre uyarlayacağım

Saat hangi formatta geliyor?

utc diliminde geliyor olmadı elimle tek tek ayırıp utc saate +3 ekleyeceğim bizim zaman dilimine eşit oluyor o zaman

Aşağıdaki gibi yapabilirsiniz.

Gerekli kütüphaneler:

pip install python-dateutil

Kodlar:

from dateutil import tz
from datetime import datetime as dt


def utc_to_local(date: str):
    return dt.strptime(f"{date}", "%Y-%m-%d %H:%M:%S")\
        .replace(tzinfo=tz.gettz("UTC")).astimezone(tz.tzlocal())
    

print(local_to_utc(date="2020-08-25 12:00:00"))  

Aşağıdaki kodlar da, girilen koordinatlar eğer bir yerel saat dilimi içerisinde yer alıyorsa, o koordinatlardaki yerel saatin kaç olduğunu bulur.

Gerekli kütüphaneler:

pip install pytz
pip install timezonefinder
pip install python-dateutil

Kodlar:

from dateutil import tz
from pytz import timezone
from datetime import datetime as dt
from timezonefinder import TimezoneFinder


def utc_to_local(date: str, lat: float, lon: float):
    local_zone = tz.gettz(
        str(timezone(TimezoneFinder().timezone_at(lat=lat, lng=lon)))
    )
    return dt.strptime(f"{date}", "%Y-%m-%d %H:%M:%S")\
        .replace(tzinfo=tz.gettz("UTC")).astimezone(local_zone)

    
print(
    utc_to_local(
        date="2020-08-25 12:00:00",
        # İstanbul koordinatları
        lat=41.047867,
        lon=28.898272
    )
) 

Teşekkür ederim ben saat farkı sabit bir değer olduğu için listelere bölüp saat farkına 3 ekleyip yaptım 12:00:00 mesela +3 ekledim utc saat dilimi Türkiyenin saat dilimine eşit oldu :slight_smile: