Форум: "Начинающим";
Текущий архив: 2010.10.10;
Скачать: [xml.tar.bz2];
ВнизNow иногда возвращает ерунду... Найти похожие ветки
← →
istok (2010-07-15 16:28) [0]функция Now иногда вместо системного времени возвращает что попало, бывает что 2001 год, 2004, бывает и 31.12.1899, т.е. 0...
это происходит редко, на различных компьютерах. но т.к. функция Now используется часто - косяк очень заметен.
что тут можно поделать? или грешить в сторону того что "нечто" иногда переставляет системное время??
есть ли аналоги, другие методы получения текущего datetime ?
← →
sniknik © (2010-07-15 16:36) [1]> функция Now иногда вместо системного времени возвращает что попало
вранье.
> что тут можно поделать? или грешить в сторону ...
бесов изгнать и больше не грешить в "сторону".
← →
istok (2010-07-15 16:41) [2]т.е. если винапишный GetLocalTime возвращает что-то неожиданное, то значит эта и только эта дата выставлена системой в данный момент и ошибок быть не может?
← →
Медвежонок Пятачок © (2010-07-15 16:49) [3]и ошибок быть не может?
конечно может. например комп такой смотрит - ага. запущена прога написанная истоком. и давай, думает, прикольнусь над чуваком и верну ему на вызов нау всякую фигню.
так вот.
← →
Palladin © (2010-07-15 16:51) [4]
> функция Now используется часто - косяк очень заметен.
угу, только возникает глубокофилософический вопрос, а косяк ли это именно функции Now...
← →
sniknik © (2010-07-15 16:58) [5]> это происходит редко
редко, навевает мысль на потоки...
> на различных компьютерах.
на запись в лог (откуда то же узнал, что где то там фигня...)
записываются строки, отсюда преобразования в строку, смотрим DateTimeToStr в хелпе ->
Description
The first form of DateTimeToStr is not thread-safe, ... и т.д.
p.s. как вам мой "телепатор"?
← →
istok (2010-07-15 17:25) [6]DateTimeToStr не используется..там float пишется... буду ловить проблему конкретнее и лично проверять какое системное время в тот момент стоит на компе.. (их в сети несколько десятков)
проблема почаще возникает в сервисе, берущем now при запуске и пореже в win приложении, берущего now постоянно..
если есть еще идеи, буду рад почитать
← →
Двенадцать © (2010-07-15 17:31) [7]> буду ловить проблему конкретнее и лично проверять какое
> системное время в тот момент стоит на компе
т.е., пешком ходить?
← →
Медвежонок Пятачок © (2010-07-15 17:39) [8]и лично проверять какое
> системное время в тот момент стоит на компе
еще не забудь каждое утро лично проверять взошло ли солнце.
а то вдруг. всякое может быть.
← →
Anatoly Podgoretsky © (2010-07-15 18:12) [9]> istok (15.07.2010 16:28:00) [0]
Если возвращает ерунду тогда это вирус
← →
Anatoly Podgoretsky © (2010-07-15 18:15) [10]> sniknik (15.07.2010 16:58:05) [5]
А мне идея Медвежонка кажется более достоверной.
← →
KilkennyCat © (2010-07-15 19:12) [11]
> Двенадцать © (15.07.10 17:31) [7]
>
> > буду ловить проблему конкретнее и лично проверять какое
> > системное время в тот момент стоит на компе
>
> т.е., пешком ходить?
конечно пешком, либо веб-камеру ставить, ибо где гарантия, что не придется проверять, а не ошибку ли выдает проверяющая программа....
← →
sniknik © (2010-07-15 19:38) [12]> А мне идея Медвежонка кажется более достоверной.
само собой.
но все же еще попытку сделаю...
> проблема почаще возникает в сервисе
поток детектед.
> DateTimeToStr не используется..там float пишется...
> смотрим FloatToStr в хелпе ->
> Description
> The first form of FloatToStr is not thread-safe, ... и т.д.
> если есть еще идеи, буду рад почитать
да ты и одну то не "переварил", другие это как бисер перед свиньями...
← →
Sha © (2010-07-15 22:27) [13]> istok (15.07.10 16:28)
> функция Now иногда вместо системного времени возвращает что попало
Докажи.
Приведи код, возвращающий что попало.
← →
KilkennyCat © (2010-07-15 22:54) [14]
> Приведи код, возвращающий что попало.
random(now);
← →
Sha © (2010-07-15 23:04) [15]> KilkennyCat © (15.07.10 22:54) [14]
Incompatible types
← →
KilkennyCat © (2010-07-16 00:05) [16]
> Sha © (15.07.10 23:04) [15]
а это мой рэндом, вещественный ;)
а вообще да, невнимательно я как-то...
← →
Anatoly Podgoretsky © (2010-07-16 00:33) [17]> KilkennyCat (15.07.2010 22:54:14) [14]
Не откомпилируется, тип не тот. Сделай обрезание.
← →
KilkennyCat © (2010-07-16 02:03) [18]Анатолий, как-то Вы все время на еврейскую тему съезжаете.... вот почему не округление, а обрезание?
← →
Германн © (2010-07-16 02:08) [19]Лучше сначала умножить на 86400, а потом разделить.
← →
Anatoly Podgoretsky © (2010-07-16 09:05) [20]> KilkennyCat (16.07.2010 02:03:18) [18]
Можно и округление, в данном случае не важно, но не лежит у меня душа к
округлению
← →
Anatoly Podgoretsky © (2010-07-16 09:05) [21]> Германн (16.07.2010 02:08:19) [19]
разделить на 86400
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2010.10.10;
Скачать: [xml.tar.bz2];
Память: 0.49 MB
Время: 0.003 c