如何将“yyyy-MM-ddTHH:mm:ss”转换为“dd MMM yyyy”格式?对于Instance,我想将2013-04-16 05:30:05转换为2013年4月16日。实现此目的的正确方法是什么?
答案 0 :(得分:7)
首先ParseExact
然后执行ToString
(我假设您有字符串对象,如果您有DateTime对象,请跳过第一行)
var dateTime = DateTime.ParseExact(yourDateString, "yyyy-MM-ddTHH:mm:ss", CultureInfo.InvariantCulture);
var yourNewString = dateTime.ToString("dd MMM yyyy");
请注意,您在调试器中看到的DateTime
表示取决于您当前的文化。
答案 1 :(得分:6)
首先,DateTime
没有格式。但是,如果您已经有一个代表格式为DateTime
的{{1}}的字符串,并且您希望将其转换为格式为yyyy-MM-ddTHH:mm:ss
的字符串日期,则需要将其解析为{{ 1}}首先。
因此请使用dd MMM yyyy
:
DateTime
现在您可以使用DateTime.ParseExact
:
DateTime dt = DateTime.ParseExact("2013-04-16 05:30:05", "yyyy-MM-dd HH:mm:ss", null);
请注意,如果您要使用另一个DateTime.ToString
解析而不是当前(fe force english month names),则需要将另一个string result = dt.ToString("dd MMM yyyy");
对象传递给CultureInfo
/ ParseExact
而不是德语:ToString
)。
答案 2 :(得分:1)
正如其他人提到的,DateTime没有格式。要将字符串文字解析为Date,您需要调用DateTime.Parse(如果字符串是特定于区域性的格式)或DateTime.ParseExact,如果您需要传递格式字符串。
格式可以是自定义格式,例如yyyy-MM-dd HH:mm:ss
,也可以是standard format strings之一,例如。 s
yyyy-MM-ddTHH:mm:ss
。
2013-04-16 05:30:05
不,因此您必须通过传递自定义格式字符串进行解析:
var dt = DateTime.ParseExact("2013-04-16 05:30:05", "yyyy-MM-dd HH:mm:ss", null);
另一方面,yyyy-MM-ddTHH:mm:ss
是s
标准格式,因此您可以写:
var dt = DateTime.ParseExact("2013-04-16T05:30:05", "s", null);