C# 以精确的方式将字符串转换为日期

C# 以精确的方式将字符串转换为日期,c#,string,date,C#,String,Date,我有一个字符串“2011年1月11日”,我想将其转换为数据类型日期(即2011年1月11日) 我已经尝试了有关datetime.parse,datetime.parse的所有资源,但所有这些都提供了相同的输出2011/01/11 12:00:00 AM。我真的不明白这种行为。我尝试了以下方法: 1.DateTime date=DateTime.Parse(“2011年1月11日”) 2.DateTime date=DateTime.ParseExact(“2011年1月11日,@“dd-MMM-

我有一个字符串“2011年1月11日”,我想将其转换为数据类型日期(即2011年1月11日)

我已经尝试了有关
datetime.parse
datetime.parse
的所有资源,但所有这些都提供了相同的输出2011/01/11 12:00:00 AM。我真的不明白这种行为。我尝试了以下方法:

1.
DateTime date=DateTime.Parse(“2011年1月11日”)


2.
DateTime date=DateTime.ParseExact(“2011年1月11日,@“dd-MMM-yyyy”,System.Globalization.CultureInfo.InvariantCulture”)

解析和显示不是一回事


将原始字符串解析为DateTime对象,但使用两个调用都是正确的来显示结果

DateTime
结构不保留任何有关格式的信息;它只表示原始日期和时间


您需要做的是确保在显示日期时使用正确的格式-例如,通过调用
string displayString=date.ToString(“dd-MMM-yyyy”)

有什么问题?它被称为日期时间类是有原因的。“2011/01/11”是2011年1月11日。“12:00:00AM”是指12:00:00?在哪里提供相同的输出?一旦它是DateTime,您就可以以您想要的任何字符串格式返回它。看起来你做得对。您希望
DateTime
的时间是几点?您是否制作了自己的
日期
类型?