誰かが私の問題を解決できれば、とても感銘を受けます。
C# 経由で Cassandra Thrift API を使用しています。私は、Cassandra に「タイムスタンプ」タイプの列を持っています。これは、Unix エポックから 8 バイトの長さで表される秒数であると想定されています。
変換するには、次のようにします。
BitConverter.GetBytes(ToUnixTimestamp(columnValue)));
どこ:
protected static long ToUnixTimestamp(DateTime dateTime)
{
return Convert.ToInt64((dateTime - new DateTime(1970, 1, 1).ToLocalTime()).TotalSeconds);
}
CLI で値を確認すると、次のように表示されます。
=> (column=created, value=225330207-01-15 03:30:53-0500, timestamp=1356568301)
Cassandra は、挿入した値を正しく解釈していません。225330207という年は、私が挿入したものではありません。なぜこれが起こっているのですか?どうすれば修正できますか?