0

私は次のように見えるさまざまな時間の配列を持っています:

20120628061533.0, 20120628064851.0, 20120628064853.0, 20120628064920.0, 20120628064929.0

私がやりたいのは、時間から10秒30秒1分を引くことですが、私が直面している問題は、数値が時間形式ではなくなるため、単純に10、30、または60を引くことができないことです(つまり、 。最後の2桁は60より大きくすることができます)

これを簡単に行う方法はありますか?

4

2 に答える 2

5

使用datetime

import datetime

a = 20120628061533.0

dt = datetime.datetime.strptime(str(int(a)), '%Y%m%d%H%M%S')
dt -= datetime.timedelta(minutes=1)

print dt.strftime('%Y%m%d%H%M%S')

プリント

20120628061433

とにかく、datetimeオブジェクトを保持し、画面/ファイルに書き込むときにのみ文字列に変換します。

于 2012-07-03T14:19:07.103 に答える
0

いいえ、一般的にそれを行う簡単な方法はありません。オブジェクト指向言語で記述している場合は、表示したような整数から構築でき、対応する日付と時刻を整数の束として内部的に表すクラスを作成することをお勧めします。次に、これらの日付/時刻要素間の「変換係数」を処理できます(たとえば、1分あたり60秒、1時間あたり60分など、1か月の日数に注意してください。 )あなたが算術をしているように。

于 2012-07-03T14:22:47.933 に答える