我有以下代码:
List<EncryptionReport> result = null;
result = m_encryptionSvc.GetReportsFromRefnr(tuples);
result = result
.OrderByDecending(e => e.Acc_date)
.ThenBy(e => e.Acc_date.ToString("YYYY-mm-dd H:mm:ss"))
.ToList();
我想要的是按日期降序排序,然后将日期解析为字符串格式。但解析不起作用。
如何在排序后将日期解析为字符串?
解决方案
var test = result.OrderBy(e => e.Acc_date)
.Select(x =>
new
{
x.Accident_nr,
x.Encrypted,
x.ExistsInStrada,
x.Id,
x.Original,
x.Report_id,
x.ReportSource,
x.State,
@Acc_date = x.Acc_date.ToString("yyyy-MM-dd hh:mm:ss")
})
.ToList();
答案 0 :(得分:3)
如果您只想要根据您的要求格式化Acc_date
值的字符串列表,则需要在Select
OrderBy
List<string> dates = result.OrderByDescending(e => e.Acc_date)
.Select(x => x.Acc_date.ToString("YYYY-mm-dd H:mm:ss"))
.ToList();
当然,您无法将此回复分配给相同的result
(列表)变量,但您需要单独的List<string>
答案 1 :(得分:1)
假设您想在排序后返回EncryptionReport列表。我会在EncryptionReport对象中创建另一个get get属性,它可以为你想要的日期字符串。
public class EncryptionReport {
//Other properties
public string Acc_date_formatted { get { return Acc_date.ToString("YYYY-mm-dd H:mm:ss");} ]
}
List<EncryptionReport> result = null;
result = m_encryptionSvc.GetReportsFromRefnr(tuples);
result = result
.OrderByDecending(e => e.Acc_date)
.ToList();