我正在尝试从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。
谢谢,
中号
答案 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);