如何在Python中将Dropbox client_mtime更改为unix时间(epoch时间戳)

时间:2014-05-21 16:27:03

标签: python dropbox-api

我想将client_mtime('修改过的'对我的应用程序无效)从文件的元数据到使用

获得的时间进行比较
os.path.getctime(myFilePath)

上面给出了一个像1400687774.48这样的unix时间戳, 而client_mtime给我一个格式如下的时间戳:' Wed,2014年5月21日15:59:25 + 0000'

我环顾四周,发现Dropbox格式的时间如下:

"EEE, dd MMM yyyy HH:mm:ss Z"

将dropbox client_mtime转换为unixtime标记或直接比较两者并查看哪一个更早的最简单方法是什么?

编辑:我正在使用python 2.6

1 个答案:

答案 0 :(得分:1)

将时间戳转换为datetime对象,并对Dropbox时间执行相同操作:

使用Python 2 %z似乎不起作用,因此您可以在格式化时添加+0000

In [6]: from datetime import datetime

In [7]: t = datetime.fromtimestamp(1400687774.48)

In [8]: t1 =datetime.strptime('Wed, 21 May 2014 15:59:25 +0000', '%a, %d %b %Y %H:%M:%S +0000')

Out[4]: datetime.datetime(2014, 5, 21, 16, 56, 14, 480000)

In [5]: t1
Out[5]: datetime.datetime(2014, 5, 21, 15, 59, 2)

In [6]: t
Out[6]: datetime.datetime(2014, 5, 21, 16, 56, 14, 480000)    

In [7]: max(t,t1)
Out[7]: datetime.datetime(2014, 5, 21, 16, 56, 14, 480000)

In [7]: min(t,t1)
Out[7]: datetime.datetime(2014, 5, 21, 15, 59, 25)

如果您使用的是python 3%z,则

In [4]: t1
Out[4]: datetime.datetime(2014, 5, 21, 15, 59, 25, tzinfo=datetime.timezone.utc)