2012-10-24 52 views
0

嗨,我想知道最好的方法來完成這項任務是什麼!DateTime計算精細

如果有三個DateTimes對象,分別命名爲TimeOfLoan,DueDate和TimeOfReturn,並且TimeOfLoan和DueDate之間的天數超過15天,我希望對返回之前每天的罰款給予罰款。像第一天10歐元第二天10歐元等

+7

離開「最佳途徑」的後...什麼是你認爲的「道路」? – loxxy

+0

我相信你應該拿出你寫的東西只是一個粗略的算法或其他東西 – 2012-10-24 16:50:39

回答

2

如果你從另一個日期中減去一個日期,你設置一個TimeSpan。從那你可以使用Days屬性來獲得天數。

numberOfDays = (myDateTime1.Date - myDateTime2.Date).Days; 
+0

這在很多情況下都失敗了。 Trace.WriteLine((DateTime.Parse(「3/10/2000 9:00 PM」) - DateTime.Parse(「3/11/2000 2:00 AM」))。Days); 他可能希望返回1而不是0 –

+0

@jsobo:固定... –

0

我不知道你在找什麼,但這種的理念是:「你有170歐元的罰款」

DateTime TimeOfLoan = new DateTime(2012,1,1);
DateTime DueDate = new DateTime(2012, 1, 18);
int days = DueDate.Subtract(TimeOfLoan).Days;
int finePrice = 10;
Console.WriteLine("You have a fine of {0} euros!",days*finePrice);

這將打印

1

,並嘗試這應當編制相信有了一些調整,也許

DateTime d1; 
DateTime d2; 
string result = (d1 - d2).TotalDays.Tostring();