デプロイの version_id が、管理ログで ISO タイムスタンプとして表されていることに気付きました。環境変数 CURRENT_VERSION_ID をタイムスタンプにデコードすることは可能ですか? いくつかの例:
2013-02-01T02:44:34Z 364988112448279806
2013-02-01T02:46:26Z 364988142569033474
2013-02-01T02:51:39Z 364988226566178837
デプロイの version_id が、管理ログで ISO タイムスタンプとして表されていることに気付きました。環境変数 CURRENT_VERSION_ID をタイムスタンプにデコードすることは可能ですか? いくつかの例:
2013-02-01T02:44:34Z 364988112448279806
2013-02-01T02:46:26Z 364988142569033474
2013-02-01T02:51:39Z 364988226566178837
実際にはあまり関係のない別の回答から、バージョンIDを28ビット右にシフトできます。
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 です。
エポックタイムを取得するには、268935300.571429のバージョンを分割する必要があるようです。
数値をリバースエンジニアリングするための簡単なスプレッドシートを作成しましたが、正確な数値を取得するには、より多くのサンプルが必要です。