Arkadaşlar merhaba datetime modülü ile kendi belirlediğim bir tarihle bugünün tarihi arasındaki farkı alıyorum. fakat aşağıda da görecebileceğiniz gibi iki tarih arasında 30 yıl fark var ama kodun verdiği sonuçlarda saniye farkı neredeyse değişmiyor acaba bunun nedeni nedir?
>>> from datetime import datetime
>>> t = '27.1.1980'
>>> tarih = datetime.strptime(t,'%d.%m.%Y')
>>> tarih
datetime.datetime(1980, 1, 27, 0, 0)
>>> datetime.now()-tarih
datetime.timedelta(13950, 65314, 115841)
>>> # yılı 2010 yapıyorum
>>> t ="27.1.2010"
>>> tarih = datetime.strptime(t,'%d.%m.%Y')
>>> tarih
datetime.datetime(2010, 1, 27, 0, 0)
>>> datetime.now()-tarih
datetime.timedelta(2992, 65423, 280190)
Sanırım siz ölçümlerin yapıldığı zamanlar arasındaki saniye farkı olmamasını anlatmışsınız ama benim anlamadığım kısım şöyle bildiğim kadarıyla aradaki farkı gösteren timedelta da ikinci paramatre iki tarih arasında kaç saniye fark olduğunu gösteriyor,
datetime.timedelta(13950, 65314, 115841) #1980 yılı
datetime.timedelta(2992, 65423, 280190) #2010 yılı
yani bugünün tarihi ile 1980 arasındaki farkı gün cinsinden doğru veriyor 2010 da da aynı şekilde… Ama aradaki farklara saniye cinsinden baktığımızda 11000 gün fark olmasına rağmen saniye farkı 1-2 dakika. Hatta 2018-2010 tarihindaki saniye farkı(65423 sn) 2018-1980 den(65314 sn) az olması gerekirken daha fazla.
Acaba ikinci parametre saniye değil mi veya gösterimde bilmediğim bişey mi var?
Kusura bakmayin,hafta ici cevaplayamadim.Sorunuza gelecek olursak:
Anlayissizligima verin lutfen,ama yine ayni seyi diyecegim galiba.Asagidaki kodlarla denemeler yapabilir misiniz?Aralarinda kac saniye kac dakika oldugunu deneyerek bakin,ciktilari dikkatlice inceleyin.Onceki cevabimda anlatamamistim,uzgunum.Ayni kod galiba ama bir bakabilir misiniz?
from datetime import datetime as d
#import time
simdiki_zaman = d.now()
t1 = "27.1.1980"
tarih1 = d.strptime(t1,'%d.%m.%Y')
print(tarih1)
t2 = "27.1.2010"
tarih2 = d.strptime(t2,'%d.%m.%Y')
print(tarih2)
now = d.now()
deger1 = simdiki_zaman-tarih1
print(deger1)
print("------------------")
deger2 = now-tarih2
print(deger2)
print("-----------------------")
print("olctugun simdiki zamanlarin farki: ",now-simdiki_zaman) #now meselesini biliyorsunuz zaten
print("zaman farklari: ",deger2-deger1) #hani siz diyordunuz ya 2 dk fark oluyor arasinda,iste bu size aradaki farkin ne kadar oldugunu gosterecek.kusura bakmayin tekrardan,ayni kodu tekrar yaziyorum ama anlayamadiginiz nokta bu veya ben anlayissizim:)