2016-04-06 15 views
0

現在の時刻を見つけるために、このタイムクラスを実装しようとしています。私は間違った時間を過ごしている。誰かが私はここで間違って何を見てくださいできますか?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

あなたは車輪を再発明しました。 'datetime'モジュールはあなたがすでに書いたすべての機能を持っています。 –

+0

このプログラムを実行したときに出力した例と期待した出力を挙げることができますか? –

+0

また、コードが正しいようです。 time.time()は、エポックからの秒数を返しますので、時刻はUTC(GMT +0)です。しかし、もちろん、他の人が言っているように、datetimeモジュールはこれらのすべてを持っているので、これを使うべきです。 – fips

答えて

0

あなたのコードは常にUTC時間を処理しますが、その結果をあなたのタイムゾーンで時間と比較しています。試してみてください:

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

ありがとうございます。実際に私はTimeクラスを使って現地時間を取得しようとしています。エポックから現在の現地時間までの秒数を調べる方法がわかりません。基本的に私は上記のコードで正しい最初の "print"ステートメントを取得したいと思います。 –

関連する問題