2011-10-19 59 views
0

我有麻烦格式化两个日期时间(实际上,它只是时间部分)值在我的LINQ查询。我在gridview(gvDaily)中获得的时间值具有以下格式:“HH:mm:ss-HH:mm:ss”。我想要的是“HH:mm-HH:mm”时间格式,但我不确定如何完成它。不用说,它是时间我遇到问题的部分查询。格式(日期)时间字符串与LINQ到实体

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.自定义格式不起作用,所以我试图找到一些其他的想法。

+0

查找我的回答,希望这将帮助你 http://stackoverflow.com/questions/2428128/linq-2-sql-datetime-format-to-string-yyyy-mm-dd/16143970 #16143970 – Clyde

回答

1

我不知道LINQ到实体是否支持自定义格式,但你可以尝试

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

不过,我个人保留值DateTime值在LINQ到实体部分,只能转换为.NET代码中的文本。特别是,不同的文化有不同的表示时间的首选方式,所以你应该尊重这一点。从“呈现数据”中分离“获取数据”。

+0

因此'CultureInfo'将会是连接到SQL服务器的那个? – xanatos

+0

Ooops,我忘了提及自定义格式在LINQ-To-Entities中不起作用。这是主要问题。文化不是问题,因为这个网络应用只会在一个国家使用。 –

+0

@xanatos是的,文化信息来自SQL服务器。 –