我發現每個DateTime格式都可以想到,除了我需要的格式:yyyymm。我該如何着手解決這個問題?日期時間格式yyyymm
我有下面的代碼我的工作:
List <string> routines = new List<string>();
routines.Add("1 - Routine");
routines.Add("6 - Planned Outage");
int year = 2011;
int quarter = 1;
DateTime timeframe = new DateTime(year, (quarter * 3), 01).AddMonths(1);
var results =
(from wo in WORKORDERs
join wot in WORKORDERTYPEs on wo.Wot_oi equals wot.Wotyoi
join pri in PRIORITies on wo.Prio_oi equals pri.Priooi
join s in SITEs on wo.BEparn_oi equals s.Siteoi
where wo.Audt_created_dttm.Value.Year >= year - 3 && wo.Audt_created_dttm.Value.Year >= 2006
&& wo.Audt_created_dttm < timeframe && (s.Id =="NM" || s.Id == "TH") &&
!wot.Id.Contains("stand") && !(wo.Ci_cnc_date != null && pri.Prioid != "1 - Routine" &&
pri.Prioid != "6 - Planned Outage") && (SqlMethods.Like(pri.Prioid, "1%") ||
SqlMethods.Like(pri.Prioid, "2%") || SqlMethods.Like(pri.Prioid, "3%"))
select new {PM = wo.Wosource, Site = s.Id, Priority = pri.Prioid, Worktype = wot.Id,
WoNumber = wo.Id, Description = wo.Aenm, CreateDate = wo.Audt_created_dttm,
CloseDate = wo.Clsdt_date,
MonthNum = String.Format("{0:yyyy mm}", wo.Clsdt_date),
Planning = routines.Contains(pri.Prioid) ? "Planned" : "Unplanned"});
我試着使用:
MonthNum = String.Format("{0:yyyy mm}", wo.Clsdt_date)
和正確給了我一年,但幾個月都是00我猜測這是因爲wo.Clsdt_date的格式與我的字符串格式不同(它是mm/dd/yyyy)。
任何想法?
以10秒打我! :) –
@羅林:那真是令人尷尬。咄。我不敢相信我沒有看到!感謝您的幫助。 –
容易犯的錯誤,尤其是如果你是編程新手:p – Rawling