これを操作するには、Cassandra DB と nodejs 用の Helenus モジュールを使用します。TimeUUID 列を含む行がいくつかあります。javascriptでTimeUUIDからタイムスタンプを取得するには?
12056 次
4 に答える
9
unixTimestampOf
CQL3 でまたは関数を使用するかdateOf
、難しい方法で自分で行うことができます。
時刻は UUID の上位 64 ビットにエンコードされますが、他の部分とインターリーブされるため、時刻を抽出するのは簡単ではありません。
n
の整数表現の場合、次のTimeUUID
ように UNIX エポックを抽出できます。
n = (value >> 64)
t = 0
t |= (n & 0x0000000000000fff) << 48
t |= (n & 0x00000000ffff0000) << 16
t |= (n & 0xffffffff00000000) >> 32
t -= 122192928000000000
seconds = t/10_000_000
microseconds = (t - seconds * 10_000_000)/10.0
このコードは、私の Ruby CQL3 ドライバー cql-rb からのもので、 https ://github.com/iconara/cql-rb/blob/master/lib/cql/time_uuid.rb で完全に見つけることができます。
このリソースを使用しました: http://www.famkruithof.net/guid-uuid-timebased.htmlと RFC を使用してそのコードを実装しました。
于 2013-07-10T14:42:32.913 に答える