1

我正在尝试从 Redis 中检索值为 Datetime 类型的值。粘贴代码片段如下。我正在使用 ServiceStack.Redis 与 Redis 进行交互。

DateTime dt = DateTime.Now; // current value is dt is --> 8/2/2012 12:18:38 AM
redisClient.Set<DateTime>("myKey", DateTime.Now);

我使用以下命令从 Redis 取回值。

var dtvalue = redisClient.Get("myKey");

dtValue 变量保持的值是

\/Date(1343846917510+0530)\/

如何将其转换为 .net DateTime?我正在使用 C#。

我尝试了以下但没有得到正确的结果。

DateTime d = new DateTime(1343842541241);

我得到的值为 d 为 1/2/0001 1:19:44 PM。

谢谢,

4

2 回答 2

2

使用IRedisClient.Get<T>()例如:

DateTime dt = DateTime.Now;
redisClient.Set<DateTime>("myKey", DateTime.Now);
var dtFromRedis redisClient.Get<DateTime>("myKey");
于 2012-08-01T19:52:30.643 回答
0

取自Trivia:如何将 JSON2.org DateTime 字符串转换为 C# DateTime

对于您的确切示例,这是您可以转换它的方式:

    var unixEpoch = new DateTime(1970, 1, 1);
    var ticksSinceEpoch = 1343846917510 * 10000;
    var time = new DateTime(unixEpoch.Ticks + ticksSinceEpoch).AddHours(5).AddMinutes(30);
于 2012-08-01T19:50:12.920 回答