背景
取得できる受信日は以下のようなフォーマットで取得できます
Fri, 9 Nov 2018 20:37:10
String型なのでDate型で色々したいわけですよ。
Pythonでは以下のような方法で「文字列→Date型(厳密には違いますが)」ができます。
lastTimeStr = 'Fri 9 Nov 2018 20:37:10 ' lastitime = datetime.datetime.strptime(lastTimeStr, "%a %d %b %Y %H:%M:%S")
※dateutilなど別の方法でもできます。
問題
以下のエラーが発生しました
ValueError: unconverted data remains:
なぜでしょうか
原因と解決方法
- 末尾にスペースが入っていたから
- カンマが入っていたから
なので以下のように文字を消してあげると正常に動きます。
lastTimeStr = 'Fri, 9 Nov 2018 20:37:10 ' lastTimeStr = lastTimeStr.replace(",", "") #カンマ削除 if lastTimeStr[-1] == " ": lastTimeStr = lastTimeStr[:-1] #末尾にスペースが含まれていれば無視する lastitime = datetime.datetime.strptime(lastTimeStr, "%a %d %b %Y %H:%M:%S")
ちなみに上記のエラー、remains:
の後に問題になっている文字が表示されるようですが、
スペースなので、表示されていないように見えていたわけですね。