将日期时间转换为yyyy/MM/dd

本文关键字:MM dd yyyy 日期 时间 转换 | 更新日期: 2023-09-27 18:26:04

如何将日期时间对象转换为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"

将日期时间转换为yyyy/MM/dd

DateTime没有固有格式,只有内部表示。

当您想显示DateTime实例的值时,格式化就开始发挥作用:

string formatted = DateTime.ToString("yyyy/MM/dd", CultureInfo.InvariantCulture);

上面的formatted字符串将包含所需格式的DateTime实例的值。

当您要将日期格式转换为字符串或在UI/其他地方显示时,日期格式是有意义的。

如果Calendar1.SelectedDateDateTime类型:

string date = Calendar1.SelectedDate.ToString(
                                      "yyyy/MM/dd", 
                                       CultureInfo.InvariantCulture);

如果Calendar1.SelectedDatestring类型:

string date = DateTime.ParseExact(
                          Calendar1.SelectedDate, 
                         "yyyy/MM/dd", 
                          CultureInfo.InvariantCulture);

使用Calendar1.SelectedDate.ToString("yyyy/MM/dd");

ParseExact将字符串转换为日期时间,因此
selectedDate = DateTime.ParseExact("2012/02/29", "yyyy/MM/dd", CultureInfo.InvariantCulture);

会起作用。不确定为什么要将日期时间转换为日期时间??