【问题标题】:Get date from ISO8601 format in C#从 C# 中的 ISO8601 格式获取日期
【发布时间】:2017-09-29 16:59:36
【问题描述】:

我正在使用 youtube API,它返回 JSON 数据。视频发布日期格式如下:"publishedAt": "2017-04-30T18:18:41.000Z"

反序列化 JSON 对象后,我想从 C# 中发布的DateTime 中获取日期。

我该怎么做,DateTime这个格式是什么?

【问题讨论】:

  • DateTime.Parse("2017-04-30T18:18:41.000Z"); 呢?
  • 通过创建具有 DateTime 属性的模型并反序列化到该模型中。你试过什么?
  • @Pikoh 是的,这对我有用,谢谢
  • @CodeCaster 好吧,你称之为“理解”,但你也可以称之为“猜测”。出于任何原因,也许 OP 不想反序列化为 DateTime 对象。无论如何,正如我已经告诉过你的,我也会走你的路。这就是为什么我没有将其添加为答案,而是作为评论添加。

标签: c# datetime youtube-api


【解决方案1】:

完全没有必要手动解析格式良好的 ISO 8601 日期。

只需将模型上的属性从 string 更改为 DateTime

public class VideoData
{
    [JsonProperty("publishedAt")]
    public DateTime PublishedAt { get; set; }
}

然后反序列化成那个:

var model = JsonConvert.DeserializeObject<VideoData>(jsonString);

而 Json.NET 将处理其余部分。

【讨论】:

    猜你喜欢
    • 2017-12-12
    • 1970-01-01
    • 2021-08-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多