Используйте Json.Net для работы, он вам сам сконвертирует в дату.
var source = "{\"batchcomplete\":\"\",\"query\":{\"users\":[{\"userid\":24920566,\"name\":\"Example\",\"regist" +
"ration\":\"2015-04-24T07:00:51Z\"}]}}";
var data = JsonConvert.DeserializeObject<Abc>(source);
data.Dump();
data.Query.Users[0].Registration.Dump();
Вспомогательные классы создал сервисом:
public partial class Abc
{
[JsonProperty("batchcomplete")]
public string Batchcomplete { get; set; }
[JsonProperty("query")]
public Query Query { get; set; }
}
public partial class Query
{
[JsonProperty("users")]
public User[] Users { get; set; }
}
public partial class User
{
[JsonProperty("userid")]
public long Userid { get; set; }
[JsonProperty("name")]
public string Name { get; set; }
[JsonProperty("registration")]
public DateTimeOffset Registration { get; set; }
}
Вывод linqpad:

Библиотека Json.Net умеет распознавать даты разных форматов, также можно написать собственные парсеры, например вот или посмотрите на en so.