1

クラスの場合、03:12:19 (つまり、3 時間 12 分 19 秒) の形式の時間を取り、対応する秒数に変換する関数を作成する必要があります。開始しましたが、数学を機能させることができないようです。現時点でのコードは次のとおりです。

def secs(timestr):
    import re
    timexp = re.compile('(\d\d):(\d\d):(\d\d)')
    calc = re.sub(timexp,r'int(\1)*3600+int(\2*60)+int(\3)',timestr)
    return print(calc)

str = '03:20:13'
secs(str)

r を削除するのをいじりましたが、奇妙な結果が得られます。ヘルプ?

4

3 に答える 3

0

別のオプションは、スライスを試すことです。(スライス表記に関する情報は次のとおりです:Pythonのスライス表記について説明してください)

関数に渡される時間が常に同じ形式 (つまり、hh:mm:ss) である場合、スライスを使用すると、時間の各コンポーネントを分離できます。文字列をスライスしても文字列が返されるため、スライスされた時間の各コンポーネントで int() を使用します。secs 関数は次のようになります。

def secs(timestr):
    hours = int(timestr[:2])
    minutes = int(timestr[3:5])
    seconds = int(timestr[6:])
    totalsecs = hours * 3600 + minutes * 60 + seconds
    return totalsecs
于 2013-08-11T21:38:49.140 に答える