如果有人能解决我的问题,我会非常感动。
我正在通过 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年不是我插入的年份。为什么会发生这种情况,我该如何解决?