我正在填写包含日期的“结果”列表。在查询结果中,我得到一组值..其中日期值采用这种格式..
201205100亿
在我的代码中,我正在执行以下操作..
query = service.GetData();
List<String> results = new List<String>();
foreach (var item in query)
{
results.Add(item.InDate);
//This is in this format - 20120510000000000
//Here I want to convert to mm-dd-yyyy
}
return results;
我想将上述日期格式转换为“mm / dd / yyyy”并将其发布到“结果”列表。
答案 0 :(得分:3)
query = service.GetData();
List<String> results = new List<String>();
foreach (var item in query)
{
var unformattedDate = item.InDate;
var formattedDate = DateTime.ParseExact(unformattedDate,
"yyyyMMddHHmmssfff",
System.Globalization.CultureInfo.InvariantCulture)
results.Add(formattedDate);
}
return results;
答案 1 :(得分:2)
如果日期保证在[年] [月] [日] [小时] [分钟] [秒] [毫秒]格式(看起来像),你可以使用简单的字符串操作:
var newDate = item.InDate.Substring(2, 2) + "-" +
item.InDate.Substring(4, 2) + "-" +
item.InDate.Substring(0, 4);
如果你想在DateTime对象中使用它,你可以使用DateTime.ParseExact方法:
var newDate = DateTime.ParseExact(indate, "yyyyMMddHHmmssfff", CultureInfo.InvariantCulture);
答案 2 :(得分:0)
上面提供的答案是正确的。更好地存储您期望的日期格式和要转换显示的日期格式,将其存储在配置文件或资源文件中。硬编码并不好。