2015年12月18日 星期五

[python] 2.6 AttributeError: 'datetime.timedelta' object has no attribute 'total_seconds'

[python] 2.6 AttributeError: 'datetime.timedelta' object has no attribute 'total_seconds'

python 2.6 timedelta 並沒有 total_secondes

8.1. datetime — Basic date and time types — Python 2.7.11 documentation
https://docs.python.org/2/library/datetime.html#datetime.timedelta.total_seconds

查看 docs 後,可使用

 (td.microseconds + (td.seconds + td.days * 24 * 3600) * 10**6) /10**6


在看一個 parse twitter created_at 的例子

    created_at = datetime.strptime(s.get('created_at'), '%a %b %d %H:%M:%S +0000 %Y')
    #python 2.6
    #AttributeError: 'datetime.timedelta' object has no attribute 'total_seconds'

    #created_at_ts = (created_at - datetime(1970, 1, 1)).total_seconds()
    td = created_at - datetime(1970, 1, 1)
    created_at_ts=(td.microseconds + (td.seconds + td.days * 24 * 3600) * 10**6) / 10**6

如此一來,在 python 2.6 也可以使用 total_seconds 的替代方法。

沒有留言:

張貼留言