Присоединяясь к двум DateTime и получая количество тиков - PullRequest
0 голосов
/ 19 мая 2011

Я получаю записи из базы данных, и она имеет два столбца. Один для даты и один для времени.

Дата выглядит следующим образом: 19/05/2011 00:00:00, а время выглядит следующим образом: 01/01/1900 15:28:00 это хорошо, я могу легко комбинировать их с Date.Add(Time.TimeOfDay), и это дает мне 19/05/2011 15:28:00.

Если я попытаюсь получить "галочки" из этой отметки DateTime с помощью CombinedDateTime.Ticks, это даст мне неправильную отметку, например, 6344141544100000000 - это как будто не находит время. Если я распечатываю DateTime, он показывает время, и все выглядит хорошо.

Date = new DateTime(2010, 05, 19);
Time = new DateTime(1900, 01, 01, 15, 45, 00);
Combined = Date.Add(Time.TimeOfDay);
// Combined.ToString() prints the expected 19/05/2011 15:45:00
// Combined.Ticks gives an invalid "tick count", e.g 6344141544100000000

Есть идеи?

Спасибо.

Ответы [ 3 ]

3 голосов
/ 19 мая 2011

Вы неправильно понимаете Ticks.

Ticks измеряется в единицах 100 наносекунд каждая;в секунду 10 000 000 тиков.

В конце всегда будут нули, если только вы не используете дробное число микросекунд.

0 голосов
/ 19 мая 2011

Убедитесь, что вы обновляете свой объект, когда объединяете их

Date = Date.Add(Time.TimeOfDay)

Date.Ticks;
0 голосов
/ 19 мая 2011

DateTime является неизменным, когда вы вызываете Add, он создает новый экземпляр DateTime. Вы вызываете Ticks на оригинальном DateTime?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...