1 / 1 / 0
Регистрация: 23.05.2009
Сообщений: 43
|
||||||||||||||||
1 | ||||||||||||||||
.NET 4.x Сравнение DateTime даже одинакового времени возвращает False17.12.2011, 02:45. Показов 2183. Ответов 12
Метки нет (Все метки)
По каким-то непонятным причинам не получается сравнить два DateTime. Вот два примера:
Выводит на консоль Сравнивать можно по разному, например:
0
|
17.12.2011, 02:45 | |
Ответы с готовыми решениями:
12
File.Exists возвращает false, даже когда файл существует Сравнение времени DateTime.Now.Hour Doc.save(false, False) = Всегда Возвращает False Сравнение DateTime - Почему сравнение запаздывает на 1 мин |
17688 / 12873 / 3366
Регистрация: 17.09.2011
Сообщений: 21,138
|
|
17.12.2011, 03:37 | 2 |
Время не ограничивается секундами.
Попробуйте вывести на консоль значение свойства Tick и посмотрите, одинаковы ли они.
0
|
1 / 1 / 0
Регистрация: 23.05.2009
Сообщений: 43
|
|
17.12.2011, 22:59 [ТС] | 3 |
Да, оно разное.
Вот при первом варианте что выдает Добавлено через 18 часов 54 минуты Мда, действительно какая-то канетель. Если создать файл у себя на харде, сделать копию ticks один. А если скопировать его в сетевое хранилище меняется с 634597435182462636 на 634597435189999999. Не понимаю почему. Похоже самое простое это сравнить две строки (ToString()).
0
|
1 / 1 / 0
Регистрация: 23.05.2009
Сообщений: 43
|
|
29.12.2011, 15:23 [ТС] | 4 |
Опять вернулся к теме. Уже попробовал разные варианты и проверил в живую. Оказывается если шара виндовая, то время не меняется и все можно сравнить и проверить. Если шара где нить на юниксовом сетевом накопителе - все ломается. Разные ОС... И получается надо использовать что-то типа unix time. Хотя не совсем точно. Или делать MD5, например, что тяжело для крупных файлов. Много ресурсов потребуется.
Добавлено через 1 час 1 минуту unix time не подходит в силу того, что время то уже испорчено и время от начала юних эры будет не верно... надо вручную выдергивать год, день и т.д. и сравнивать...
0
|
42 / 36 / 2
Регистрация: 18.12.2011
Сообщений: 113
|
|
29.12.2011, 18:01 | 5 |
Сравнивай часы, минуты и секунды, а не весь класс полностью....
0
|
1 / 1 / 0
Регистрация: 23.05.2009
Сообщений: 43
|
|
29.12.2011, 21:28 [ТС] | 6 |
iTheSaboteur, я то и написал.
0
|
42 / 36 / 2
Регистрация: 18.12.2011
Сообщений: 113
|
|
29.12.2011, 21:44 | 7 |
Извиняюсь, пропустил последние строки мимо глаз...
0
|
160 / 148 / 92
Регистрация: 30.03.2011
Сообщений: 569
|
|
30.12.2011, 19:49 | 8 |
Тебе уже написали, DateTime - это сложная конструкция. Если хочешь сравнивать год, день, час, минуты то и сравнивай их, а не всю датувремя.
0
|
1 / 1 / 0
Регистрация: 23.05.2009
Сообщений: 43
|
|
30.12.2011, 22:43 [ТС] | 9 |
Да что ж такое. MVK, я уже так и написал... :-)
0
|
42 / 36 / 2
Регистрация: 18.12.2011
Сообщений: 113
|
|
30.12.2011, 22:58 | 10 |
Надо ж, не только мне полностью сообщения читать лень..)
0
|
160 / 148 / 92
Регистрация: 30.03.2011
Сообщений: 569
|
|
31.12.2011, 15:45 | 11 |
DateTime - сложная конструкция, а также отличается в разных ОС и в разных режимах модификации\перемещении. Если нужно сравнивать две DateTime "вроде" для одного файла из разных ОС, то сравнивайте поэлементно (год, месяц, день, час, ...). Тогда получится.
0
|
1 / 1 / 0
Регистрация: 23.05.2009
Сообщений: 43
|
|
31.12.2011, 17:41 [ТС] | 12 |
Слов нет. Модераторы закройте тему )))))))
0
|
42 / 36 / 2
Регистрация: 18.12.2011
Сообщений: 113
|
|
31.12.2011, 17:47 | 13 |
Бот?))
0
|
31.12.2011, 17:47 | |
31.12.2011, 17:47 | |
Помогаю со студенческими работами здесь
13
Сравнение текста в ячейках и присвоение одинаковым зн-ям одинакового ID Запрос возвращает false Функция возвращает false Запрос возвращает false Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |