如何解码GAE version_id?

时间:2013-02-01 03:57:36

标签: google-app-engine

我注意到部署中的version_id在管理日志中表示为ISO时间戳。是否可以将环境变量CURRENT_VERSION_ID解码为时间戳?一些例子:

2013-02-01T02:44:34Z 364988112448279806 
2013-02-01T02:46:26Z 364988142569033474
2013-02-01T02:51:39Z 364988226566178837

2 个答案:

答案 0 :(得分:3)

来自another answer,实际上并不真正相关,您可以right shift by 28 bits版本ID:

version_id = long(self.request.environ['CURRENT_VERSION_ID'].split('.')[1])
timestamp = version_id >> 28 # epochtime

此外,您可以使用更易读的形式对其进行格式化:

from datetime import datetime
version = datetime.fromtimestamp(timestamp).strftime('%Y-%m-%d %H:%M:%S')

所以@ShayErlichmen发现的这个神奇数字是2 ^ 28。

答案 1 :(得分:1)

看起来您需要将版本划分为268935300.571429以获取纪元时间 I wrote a simple spreadsheet对数字进行逆向工程,但需要更多样本才能获得准确的数字。