Python

2016-04-06 11 views
0

için geçerli saati bulma hatası Şu anki saati bulmak için bu zaman sınıfını uygulamaya çalışıyorum. Yanlış zaman geçiriyorum. Birisi lütfen buraya bir bakabilirim ne yapıyorum burada yanlış yapıyorum?Python

import time 
import datetime 

class Time(): 
def __init__(self): 
    currentTime = time.time() 
    totalSeconds = int(currentTime)  
    self.__second = totalSeconds % 60 
    totalMinutes = totalSeconds // 60 
    self.__minute = totalMinutes %60 
    totalHours = totalMinutes// 60 
    self.__hour = totalHours % 12 

def getSecond(self): 
    return self.__second 

def getMinute(self): 
    return self.__minute 

def getHour(self): 
    return self.__hour 
def main(): 
    t = Time() 
    print("Current Time is : ", t.getHour(), ":", t.getMinute(), ":", t.getSecond()) 
    print(datetime.datetime.now().time()) 
    print(time.ctime()) 

main()   
+4

Tekerleği yeniden keşfettiniz. 'Datetime' modülü zaten yazdığınız tüm işlevselliğe sahiptir. –

+0

Bu programı çalıştırdığınızda elde ettiğiniz çıktıya ve beklediğiniz çıktıya bir örnek verebilir misiniz? –

+0

Ayrıca kod da doğru görünüyor. Time.time(), zamandan bu yana saniyeler içinde zaman döndürdüğünden, UTC (GMT +0), size verdiği saat bölümüdür. Ama elbette, başkalarının söylediği gibi, datetime modülünü bunların hepsine sahip olduğundan kullanmalısınız. – fips

cevap

0

Kodunuz her zaman UTC zamanları ile ilgilidir, ancak sonucu saat diliminizle zamanla karşılaştırıyorsunuz. Deneyin:

def main(): 
    t = Time() 
    print("Current Time is : ", t.getHour(), ":", t.getMinute(), ":", t.getSecond()) 
    print(datetime.datetime.utcnow().time()) 
    print(time.asctime(time.gmtime())) 
+0

Teşekkür ederiz. Aslında Time sınıfımı kullanarak yerel saati almaya çalışıyorum. Bulunduğunuz yerel saate göre bu yana nasıl saniye elde edeceğinizi öğrenemiyorum. temelde yukarıdaki kodda doğru ilk "baskı" ifadesini almak istiyorum. –