gpt4 book ai didi

c# - Cassandra 时间戳类型列转换

转载 作者:行者123 更新时间:2023-11-30 22:21:58 25 4
gpt4 key购买 nike

如果有人能解决我的问题,我会非常感动。

我正在通过 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 不是我插入的年份。为什么会发生这种情况,我该如何解决?

最佳答案

您需要从“timestamp”类型的列中存储和检索自 Unix 纪元以来的毫秒值,而不是秒。

http://cassandra.apache.org/doc/cql/CQL.html#usingdates

关于c# - Cassandra 时间戳类型列转换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14045396/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com