2014-12-23 39 views
0

我需要在Linq中使用SqlFunctions從Date取得年份和星期。使用Linq中的Sql函數一起獲取年份和星期

For example:Date="01/12/2014", I need to get 2014-48 

我能得到week from SqlFunctions.DatePart("ww",Date)year from SqlFunctions.DatePart("yyyy",Date),但如何將其結合起來,yyyy-ww或取爲yyyy-ww

是否有可能得到這個比使用SqlFunctions

在此先感謝。

+0

我假設你使用的是實體框架,對嗎? – IronMan84

+0

@ IronMan84,是的 – Cherry

+0

哪周的數字? ISO? –

回答

0

也許這個答案將幫助:https://stackoverflow.com/a/11261467/290627

entities.WorkingDays.ToList().Where(a => 
     cal.GetWeekOfYear(a.DATE,CalendarWeekRule.FirstDay,DayOfWeek.Sunday) 
     == cal.GetWeekOfYear(DateTime.Now, CalendarWeekRule.FirstDay, 
              DayOfWeek.Sunday) 

基於這個問題的答案,你的情況,這將是這個樣子:

var cal = CultureInfo.CurrentCulture.Calendar; 
var result = entities.ToList().Select(c => new {DateFormat = c.DateField.Year.ToString() + "-" + cal.GetWeekOfYear(c.DateField, CalendarWeekRule.FirstDay, DayOfWeek.Monday)});} 

這是假設你有「的DateField」財產你的實體類。

+0

這可以讓我只有一週沒有。 – Cherry

+0

您可以在LINQ中添加日期字段的年份。當然,這是假設LINQ方法可以接受的。 – buhtla

+0

檢查我的原始答案,我調整了一下,以更好地適應你的情況。希望現在有幫助。 – buhtla

相關問題