使用LINQ-to-Entity格式化(日期)时间字符串

时间:2011-10-19 10:09:27

标签: c# linq datetime linq-to-entities formatting

我在LINQ查询中格式化两个日期时间(实际上,它只是时间部分)时遇到了麻烦。我在gridview(gvDaily)中获得的时间值具有以下格式:“HH:mm:ss-HH:mm:ss”。我想拥有的是“HH:mm-HH:mm”时间格式,但我不知道如何实现它。不用说,我遇到问题的是查询的时间部分。

var dailyList = (from d in db.Daily
                         select d).ToList();

gvDaily.DataSource = from d in dailyList
                     orderby d.Datum
                     select new { d.idDaily, d.Biljeske, d.Datum, d.EfektivnoSati, Tvrtka = d.Ticket.Firma.Naziv, DailyManager = d.Kontakt.Ime + " " + d.Kontakt.Prezime, Ticket = d.Ticket.Opis, Time= d.TimeFrom+ "-" + d.TimeTo, d.TimeFrom, d.TimeTo, d.Opis, d.Ticket.Zatvoren, d.Ticket.IzdanRacun, TicketNumber = d.Ticket.idTicket + "-" + d.Ticket.RedniBroj, d.Dolazak };

提前谢谢!

P.S。自定义格式不起作用所以我试图找到一些其他的想法。

1 个答案:

答案 0 :(得分:1)

我不知道LINQ to Entities是否支持自定义格式,但您可以尝试

Time= d.TimeFrom.ToString("HH:mm") + "-" + d.TimeTo.ToString("HH:mm")

但是,我个人将值保留为LINQ to Entities部分中的DateTime值,并且只转换为.NET代码中的文本。特别是,不同的文化有不同的表示时间的首选方式,所以你应该尊重这一点。将“提取数据”与“呈现数据”分开。