2012-10-24 53 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();