如何转换“;2003-11-05T16:35:30Z”;至“;2013年5月11日”;在c#中

本文关键字:5月 2013年 11日 何转换 30Z 2003-11-05T16 转换 | 更新日期: 2023-09-27 17:59:54

我在转换时遇到问题

 2003-11-05T16:35:30Z  to "11/5/2013"

我试过低于

 DateTime.ParseExact("2003-11-05T16:35:30Z", "dd/MM/yyyy", null)

但我没有得到我期望的价值。

如何转换“;2003-11-05T16:35:30Z”;至“;2013年5月11日”;在c#中

您想要这样做:

DateTimeOffset.Parse("2003-11-05T16:35:30Z").ToString("dd/MM/yyyy")

您所做的是将数据解析为dd/MM/yyyy格式——相反,您希望将其解析为通用格式,然后使用您的格式字符串将其转换为字符串。

DateTime.Parse将获取一个字符串并返回一个日期-时间。要取回字符串,只需使用ToString方法。

试试这个:

string myDate = DateTime.ParseExact("2003-11-05T16:35:30Z", 
                               "yyyy-MM-ddTHH:mm:ssZ",null).ToString("M/d/yyyy");

解析时,指定要解析的格式,然后使用新格式格式化DateTime值:

string reformatted =
  DateTime.ParseExact("2003-11-05T16:35:30Z", "yyyy'-'MM'-'dd'T'HH':'mm':'ss'Z'", null)
  .ToString("dd/MM/yyyy");