• 05-10-2022, 20:22:32
    #1
    Kaç saattir uğraşıyorum anlayamadım gitti bu işi.

    Örnek veriyorum : 2022-10-05 20:00:00 tarihini timestamp (unixtime) a çeviriyorum. Alttaki kod ile. Fakat bana 3 saat geride bir saat veriyor sürekli.

    datetime.datetime.timestamp(2022, 10, 05, 20, 00 ,00)
    Biraz araştırınca timezone ile ilgili bir problem olabileceği kanaatine vardım ama onla ilgili de nasıl bir düzenleme yapmam gerek bulamadım.
  • 05-10-2022, 20:34:24
    #2
    import os, time
    print(time.strftime('%Y-%m-%d %H:%M:%S')) # öncesi
    os.environ['TZ'] = 'Europe/Istanbul' #Yeni timezone
    time.tzset()
    print(time.strftime('%Y-%m-%d %H:%M:%S')) # sonrası
  • 05-10-2022, 20:35:42
    #3
    Python Coder
    Eğer veri 3 saat geride ise time delta kullanıp gelen zamana 3 saat ekleyin
    datetime_obejct+ timedelta(hours=3)
  • 05-10-2022, 20:38:12
    #4
    keremyagan adlı üyeden alıntı: mesajı görüntüle
    Eğer veri 3 saat geride ise time delta kullanıp gelen zamana 3 saat ekleyin
    datetime_obejct+ timedelta(hours=3)
    hocam sadece görünürde eklemek işime gelmiyor çünkü db de ona göre sorgu yapıyorum. Çevirip yazarken db ye düzgün yazmam lazım.
    Örnek veriyorum 2022-05-10 12:00:00 ile 2022-05-10 17:00:00 arası getir diyorum.
    Bana gidip 15 - 20 arasını getiriyor.
  • 05-10-2022, 20:39:24
    #5
    SpyBey adlı üyeden alıntı: mesajı görüntüle
    import os, time
    print(time.strftime('%Y-%m-%d %H:%M:%S')) # öncesi
    os.environ['TZ'] = 'Europe/Istanbul' #Yeni timezone
    time.tzset()
    print(time.strftime('%Y-%m-%d %H:%M:%S')) # sonrası
    AttributeError: module 'time' has no attribute 'tzset'

    test edeyim dedim bu şekilde bir hata verdi

    time i dir ile print edince

    '_STRUCT_TM_ITEMS', '__doc__', '__loader__', '__name__', '__package__', '__spec__', 'altzone', 'asctime', 'ctime', 'daylight', 'get_clock_info', 'gmtime', 'localtime', 'mktime', 'monotonic', 'monotonic_ns', 'perf_counter', 'perf_counter_ns', 'process_time', 'process_time_ns', 'sleep', 'strftime', 'strptime', 'struct_time', 'thread_time', 'thread_time_ns', 'time', 'time_ns', 'timezone', 'tzname'
    içerisinde öyle bir fonksiyon olmazdığı gözüküyor.
  • 05-10-2022, 20:40:22
    #6
    Python Coder
    Sorgu zamanını değiştirin hocam ,
    datetime_object - timedelta(hours=3), sorgu zamanı 3 saat geri olmuş olur database ile aynı olmuş olur ya da utcnow araştırın derim
  • 05-10-2022, 20:43:09
    #7
    keremyagan adlı üyeden alıntı: mesajı görüntüle
    Sorgu zamanını değiştirin hocam ,
    datetime_object - timedelta(hours=3), sorgu zamanı 3 saat geri olmuş olur database ile aynı olmuş olur ya da utcnow araştırın derim
    python da yeniyim de hocam tam olarak nasıl yazmam gerekiyor.


    def tarihCevirici(tarih):
        date_time = datetime.datetime(
            int(str(tarih[0])+str(tarih[1])+str(tarih[2])+str(tarih[3])), #yıl
            int(str(tarih[4])+str(tarih[5])), #ay
            int(str(tarih[6])+str(tarih[7])), #gün
            int(str(tarih[8])+str(tarih[9])), #saat
            int(str(tarih[10])+str(tarih[11])), #dakika
            int(str(tarih[12])+str(tarih[13])) #saniye
        )
        unixtime = datetime.datetime.timestamp(date_time)
        return unixtime
    bu şekilde bir fonksiyonum var.
    Elimdeki tarih formatı. 20201012160001

    yıl-ay-gun-saat-dakika-saniye olarak birşekilde formatta. ben bunu bir fonksiyonda düzenleyip unixtime olarak almaya çalışıyorum.
  • 05-10-2022, 20:45:14
    #8
    Python Coder
    PhYtOnX adlı üyeden alıntı: mesajı görüntüle
    python da yeniyim de hocam tam olarak nasıl yazmam gerekiyor.


    def tarihCevirici(tarih):
        date_time = datetime.datetime(
            int(str(tarih[0])+str(tarih[1])+str(tarih[2])+str(tarih[3])), #yıl
            int(str(tarih[4])+str(tarih[5])), #ay
            int(str(tarih[6])+str(tarih[7])), #gün
            int(str(tarih[8])+str(tarih[9])), #saat
            int(str(tarih[10])+str(tarih[11])), #dakika
            int(str(tarih[12])+str(tarih[13])) #saniye
        )
        unixtime = datetime.datetime.timestamp(date_time)
        return unixtime
    bu şekilde bir fonksiyonum var.
    Elimdeki tarih formatı. 20201012160001

    yıl-ay-gun-saat-dakika-saniye olarak birşekilde formatta. ben bunu bir fonksiyonda düzenleyip unixtime olarak almaya çalışıyorum.
    https://www.digitalocean.com/communi...etime-strptime
  • 05-10-2022, 22:54:50
    #9
    veritabanına yazmadan önce +3 saat ekleme işlemini yaptım hocam o işimi gördü teşekkürler.