2017-04-07 11 views
0

私の目標は、私のラズベリーパイに表示される実際の時間を比較する単純なif文を持つことです(例えば、5pmは私のpiで1700を読み込みます)。ユーザーが定義してデータベースに格納した整数。 (例えば、ユーザがミリタリータイムの読み取り値を入力したのは軍用時間で1700であり、一度送信されると整数値1700がデータベースに格納されます)Python/Raspberry pi 3:データベース内のstrftime時間と整数時間を比較する

ユーザが入力した時間が実際の時間と等しい場合、

私は、データベースの整数がstrftime( "%H%M")コマンドと比較できる値を適切に再チューニングしていないと思います。 ...任意の提案?

私はuserin_time1(現在の2018年のデータベースに最新の値を取得するために割り当てられた変数)の値を出力すると、戻り値は

(2018L)

私はパイの実際の時間を取得するために使用するコマンドは、strftimeの( "%のH%M")で、これは値を返します。

私が考えていました多分括弧とLとカンマがアップ私のロジックをいじりましたように、私はこのように見えるようにstrftime関数を編集した:

のstrftime(「(%H%以下ML)」)

これを行うには、コードをコンパイルして値を返すE:

(2018L)

私はパイの時間(strftime関数)の両方を割り当てて、ユーザーがそれぞれの新しい変数xとyに時間(userin_time1機能)を入力し、このステートメントを使用してそれらを比較すると:

場合(X == Y): 印刷 "こんにちは、世界

コードが実行されますが、条件が満たされたときに何も起こりません(時間は完全にお互いに並ぶ)...

+0

質問をデータベースからの戻り値で印刷して編集できますか? – manvi77

+0

2018の望ましい出力は何ですか?それは'08:18PM 'ですか? – manvi77

+0

はい、2018年からの変換は08:18 PMになります。しかし、私が軍事的な時間に行った理由は、軍事時間に私のπの時計があるだけでなく、これらの整数値が私のデータベースに格納しやすくなると考えたからです。論理的には標準時間よりも論理的に比較する –

答えて

0

あなたはこのように試すことができます、

from datetime import datetime 
from time import gmtime, strftime 

d = datetime.strptime("2018", "%H%M") 
db_time = d.strftime("%I:%M%p") #results '08:18PM' 
current_time = strftime("%I:%M:%p", gmtime()) 
if db_time == current_time: 
    print "Time matched" 
else: 
    print "Time not matched" 

これはあなたが期待しているものですか?

+0

これは私が探していることを達成するかどうかはわかりませんが、if文を使用して実際の時刻とユーザー入力時刻を比較し、軍事的な時間を通常の時間に変換しない –

+0

入力に問題があり、出力を期待していることをコードの一部を表示できますか? – manvi77

+0

x = userin_time1 ##これは、(2018L、)y = strftime( "(%H%ML、)" ##)これはpiから時間を得て、(x == y ):print 'hello world' ##条件が真であれば、こんにちはワールド –