如何从Redson的ServiceStack实现返回的Json Datetime格式转换为.net Datetime?

时间:2012-08-01 18:57:36

标签: json redis servicestack

我正在尝试从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。

谢谢,

中号

2 个答案:

答案 0 :(得分:2)

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

DateTime dt = DateTime.Now;
redisClient.Set<DateTime>("myKey", DateTime.Now);
var dtFromRedis redisClient.Get<DateTime>("myKey");

答案 1 :(得分:0)

取自Trivia: How to convert a JSON2.org DateTime string to C# DateTime

对于您的确切示例,您可以将其转换为:

    var unixEpoch = new DateTime(1970, 1, 1);
    var ticksSinceEpoch = 1343846917510 * 10000;
    var time = new DateTime(unixEpoch.Ticks + ticksSinceEpoch).AddHours(5).AddMinutes(30);