假设我有字符串"20171013",现在我想将其转换为13-10-2017,它也应该在字符串中.此外,我已将这些字符串存储在列表的属性中.是否可以使用foreach循环转换所有这些字符串数量的属性?
这是我正在研究的代码
calendarResponse.AgendaOptions
.ForEach(a => a.AppointmentDate =
DateTime.ParseExact(a.AppointmentDate, "ddMMyyyy",
CultureInfo.InvariantCulture).ToString());
Run Code Online (Sandbox Code Playgroud)
这里,AppointmentDate的日期为字符串格式,如"20171013"
我收到了错误:
日历System.Globalization.GregorianCalendar中不支持由字符串表示的DateTime
错误原因是,正确的格式应该是yyyyMMdd和不是ddMMyyyy.还应用格式化ToString以获得所需的输出格式:
var data = new List<string> { "20171013" };
var result = data.Select(item => DateTime.ParseExact(item, "yyyyMMdd", CultureInfo.InvariantCulture)
.ToString("dd-MM-yyyy", CultureInfo.InvariantCulture)).ToList();
Run Code Online (Sandbox Code Playgroud)
对于给定的代码:
calendarResponse.AgendaOptions.ForEach(a =>
a.AppointmentDate = DateTime.ParseExact(a.AppointmentDate, "yyyyMMdd", CultureInfo.InvariantCulture)
.ToString("dd-MM-yyyy", CultureInfo.InvariantCulture));
Run Code Online (Sandbox Code Playgroud)
有关支持的DateTime格式,请参阅文档