如何将datetime对象转换为yyyy / MM / dd格式?我正在尝试这个:
DateTime selectedDate =Convert.ToDateTime( Calendar1.SelectedDate.ToShortDateString());
selectedDate = DateTime.ParseExact(selectedDate, "yyyy/MM/dd", CultureInfo.InvariantCulture);
但我收到以下错误:
'System.DateTime.ParseExact(string,string,System.IFormatProvider)'的最佳重载方法匹配有一些无效的参数
或
参数'1':无法从'System.DateTime'转换为'string'
答案 0 :(得分:4)
DateTime
没有固有的格式 - 只有内部表示。
当您希望显示 DateTime
实例的值时格式化正在发挥作用:
string formatted = DateTime.ToString("yyyy/MM/dd", CultureInfo.InvariantCulture);
上述formatted
字符串将包含所需格式的DateTime
实例的值。
答案 1 :(得分:0)
当您要将其转换为字符串或在UI /其他地方显示时,日期格式是有意义的。
如果Calendar1.SelectedDate
属于DateTime
类型:
string date = Calendar1.SelectedDate.ToString(
"yyyy/MM/dd",
CultureInfo.InvariantCulture);
如果Calendar1.SelectedDate
属于string
类型:
string date = DateTime.ParseExact(
Calendar1.SelectedDate,
"yyyy/MM/dd",
CultureInfo.InvariantCulture);
答案 2 :(得分:0)
使用Calendar1.SelectedDate.ToString("yyyy/MM/dd");
答案 3 :(得分:0)
ParseExact将字符串转换为日期时间,所以
selectedDate = DateTime.ParseExact("2012/02/29", "yyyy/MM/dd", CultureInfo.InvariantCulture);
会奏效。不确定为什么要将日期时间转换为日期时间??