2013-01-24 16 views
0

所以atm,每個工作站都有它們的發票清單,有些工作站會有很多發票,有些工作站沒有發票。 每張發票清單均按升序排列,最近的發票存儲在'lastInvoice'中。從dateTime取月的值並轉換爲int?

下面的代碼檢查最後一張發票上的日期,將它與本月-12進行比較。 如果發票日期是<,則它存儲在chosenInvoicesForRetention列表中。

if (lastInvoice.Invoice_Date < DateTime.Now.AddMonths(-12)) 
     { 
     chosenInvoicesForRetention.Add(workstation); 
     } 

這一切工作正常...但是代替DateTime.Now.AddMonths(-12)我想與存儲在另一個表中的值recplace這一點。

workstation.Number_of_Months 

這返回月即在1和12之間

㈣播放關於與它操作員不能被應用到「INT」或System.DateTime的量。

是否有可能從invoiceDate中提取月份的值,並將其轉換爲int,然後進行比較。作爲int等...我是否接近正確? 請指教...謝謝你

+1

你試圖使用''上的財產Month' DateTime'? –

+0

Bravo謝謝ze elp – John

回答

1

我不知道我是否正確理解問題,但;

if (lastInvoice.Invoice_Date < DateTime.Now.AddMonths(-1*workstation.Number_of_Months)) 
+0

啊是thaks daryal – John

1

是否有可能從拉動與invoiceDate月份的值,並將其轉換爲一個int,然後進行比較。

是的,你必須這樣做:

int month_number = lastInvoice.Invoice_Date.Month 
+0

糾正我,如果我錯了,但不是'月'返回一個'int'? –

+0

是的,你是對的 – Andres

+0

啊可愛的嘰嘰喳喳謝謝你們 – John

1

不知道我的理解(再一次),但爲什麼不

if (lastInvoice.Invoice_Date < DateTime.Now.AddMonths(0 - workstation.Number_of_Months)) 
     { 
     chosenInvoicesForRetention.Add(workstation); 
     } 
+0

確定thaek raph..cheers – John