У меня есть следующий коддата Вычесть возвращает отрицательное
_intervals = intervalEndTime.Subtract(intervalStartTime).Hours;
intervalEndTime = 2009-11-11 16:00 intervalStartTime = 2009-11-11 8:00
делает _intervals содержат -8. Как это получилось -8? Удаление 8 часов с 16 должно быть 8? Я мог бы переключиться, чтобы сделать его позитивным 8, но может ли кто-нибудь объяснить это?
private int calcIntervalRows()
{
int _intervals = 0;
switch (this.BookingObject.IntervalEntity.IntervalEntityID.Trim())
{
case "DAY":
_intervals = 1;
break;
case "MIN":
_intervals = SplitTime(new TimeSpan(intervalStartTime.Minute - intervalEndTime.Hour, 0, 0), new TimeSpan(this.BookingObject.IntervalValue != null ? this.BookingObject.IntervalValue.Value : 1, 0, 0));
break;
case "HOUR":
_intervals = (int)intervalEndTime.Subtract(intervalStartTime).Hours;
break;
}
return _intervals;
}
alt text http://svevarn.com/que.gif
/M
Есть ли время путешествия? –
Где находится ваш курсор в оценке? Если вы показываете мне значения до того, как выражение было оценено, _intervals могут иметь -8 в нем из предыдущего назначения. –
Что такое DateTimeKind из двух связанных с DateTimes? Если есть UTC, а другой - Local, это может объяснить это. –