Google app engine 如何解码GAE版本号?
我注意到部署中的版本id在管理日志中表示为ISO时间戳。是否可以将环境变量CURRENT_VERSION_ID解码为时间戳?一些例子:Google app engine 如何解码GAE版本号?,google-app-engine,Google App Engine,我注意到部署中的版本id在管理日志中表示为ISO时间戳。是否可以将环境变量CURRENT_VERSION_ID解码为时间戳?一些例子: 2013-02-01T02:44:34Z 364988112448279806 2013-02-01T02:46:26Z 364988142569033474 2013-02-01T02:51:39Z 364988226566178837 看起来您需要将268935300.571429中的版本进行除法,以获得新纪元时间。 要对数字进行反向工程,但需要更多样本
2013-02-01T02:44:34Z 364988112448279806
2013-02-01T02:46:26Z 364988142569033474
2013-02-01T02:51:39Z 364988226566178837
看起来您需要将268935300.571429中的版本进行除法,以获得新纪元时间。
要对数字进行反向工程,但需要更多样本才能获得准确的数字。看起来您需要将268935300.571429中的版本进行除法才能获得历元时间。
要对数字进行反向工程,但需要更多样本才能获得准确的数字。从中,这实际上与此无关,您可以使用版本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。来源,实际上与此无关,您可以使用版本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。这绝对像一个时间戳这绝对像一个时间戳谢谢!那里的评论还指出long(version_id)>>28更为清晰。我想知道这28位是用来做什么的……最好引用原始资料:“虽然格式是内部的,可能会改变,但现在你可以右移28位。”谢谢!那里的评论还指出long(version_id)>>28更为清晰。我想知道这28位是用来做什么的……最好引用原始资料:“虽然格式是内部的,可能会改变,但现在你可以右移28位。”