
Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
08.04.2007, 11:26
|
|||
|---|---|---|---|
Как проверить дату на верность ? C++ Builder |
|||
|
#18+
Например ввожу 12.01.2001 - верно 12.13.2005 или _1.12.2002 - не верно ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
09.04.2007, 10:40
|
|||
|---|---|---|---|
|
|||
Как проверить дату на верность ? C++ Builder |
|||
|
#18+
ИМХО если попытаться вызвать конструктор TDateTime(unsigned short year, unsigned short month, unsigned short day) при некорректной дате будет исключение. Вроде бы так следует из хелпа, попробовать недолго. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
09.04.2007, 17:50
|
|||
|---|---|---|---|
Как проверить дату на верность ? C++ Builder |
|||
|
#18+
Можно проверить с помощью StrToDateTimeDef ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
09.04.2007, 18:44
|
|||
|---|---|---|---|
Как проверить дату на верность ? C++ Builder |
|||
|
#18+
Begem0t!kНапример ввожу 12.01.2001 - верно 12.13.2005 или _1.12.2002 - не верно а что 3 условия сложно написать ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
09.04.2007, 19:03
|
|||
|---|---|---|---|
Как проверить дату на верность ? C++ Builder |
|||
|
#18+
Lepsik Begem0t!kНапример ввожу 12.01.2001 - верно 12.13.2005 или _1.12.2002 - не верно а что 3 условия сложно написать ? Да нет условий поболее например 29.02.1900 - быть не могет а 29.02.2000 могет, а уж если учитавать перход с юлианского на григорианский, вообще попухнуть можно ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
10.04.2007, 11:50
|
|||
|---|---|---|---|
Как проверить дату на верность ? C++ Builder |
|||
|
#18+
Begem0t!kНапример ввожу 12.01.2001 - верно 12.13.2005 или _1.12.2002 - не верно С через mktime получить time_t (Если в mktime передать 40 октября , она вернет 9 ноября) потом его обратно преобразовать через gm_time в tm. Сравнить две структуры tm. Если mktime вернет -1 - дата неверная изначально. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
10.04.2007, 12:08
|
|||
|---|---|---|---|
Как проверить дату на верность ? C++ Builder |
|||
|
#18+
onstat- Begem0t!kНапример ввожу 12.01.2001 - верно 12.13.2005 или _1.12.2002 - не верно С через mktime получить time_t (Если в mktime передать 40 октября , она вернет 9 ноября) потом его обратно преобразовать через gm_time в tm. Сравнить две структуры tm. Если mktime вернет -1 - дата неверная изначально. Мда совет. Тогда уж пусть boost берет ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
10.04.2007, 12:19
|
|||
|---|---|---|---|
Как проверить дату на верность ? C++ Builder |
|||
|
#18+
onstat- Begem0t!kНапример ввожу 12.01.2001 - верно 12.13.2005 или _1.12.2002 - не верно С через mktime получить time_t (Если в mktime передать 40 октября , она вернет 9 ноября) потом его обратно преобразовать через gm_time в tm. Сравнить две структуры tm. Если mktime вернет -1 - дата неверная изначально. mktime берет только от 1970-го до 2037-го. Тут в топике аж 1900 вспоминали :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
10.04.2007, 12:50
|
|||
|---|---|---|---|
Как проверить дату на верность ? C++ Builder |
|||
|
#18+
Akh onstat- Begem0t!kНапример ввожу 12.01.2001 - верно 12.13.2005 или _1.12.2002 - не верно С через mktime получить time_t (Если в mktime передать 40 октября , она вернет 9 ноября) потом его обратно преобразовать через gm_time в tm. Сравнить две структуры tm. Если mktime вернет -1 - дата неверная изначально. mktime берет только от 1970-го до 2037-го. Тут в топике аж 1900 вспоминали :) man mktime struct tm { int tm_sec; /* seconds */ int tm_min; /* minutes */ int tm_hour; /* hours */ int tm_mday; /* day of the month */ int tm_mon; /* month */ int tm_year; /* year */ int tm_wday; /* day of the week */ int tm_yday; /* day in the year */ int tm_isdst; /* daylight saving time */ }; The members of the tm structure are: .................................................................... tm_year The number of years since 1900. ........................................................................ ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
10.04.2007, 13:09
|
|||
|---|---|---|---|
Как проверить дату на верность ? C++ Builder |
|||
|
#18+
onstat- Akh onstat- Begem0t!kНапример ввожу 12.01.2001 - верно 12.13.2005 или _1.12.2002 - не верно С через mktime получить time_t (Если в mktime передать 40 октября , она вернет 9 ноября) потом его обратно преобразовать через gm_time в tm. Сравнить две структуры tm. Если mktime вернет -1 - дата неверная изначально. mktime берет только от 1970-го до 2037-го. Тут в топике аж 1900 вспоминали :) man mktime struct tm { int tm_sec; /* seconds */ int tm_min; /* minutes */ int tm_hour; /* hours */ int tm_mday; /* day of the month */ int tm_mon; /* month */ int tm_year; /* year */ int tm_wday; /* day of the week */ int tm_yday; /* day in the year */ int tm_isdst; /* daylight saving time */ }; The members of the tm structure are: .................................................................... tm_year The number of years since 1900. ........................................................................ Ес ит из. Только вот считает, все равно с 1970. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/search_topic.php?author=.maXmo&author_mode=last_topics&do_search=1]: |
0ms |
get settings: |
10ms |
get forum list: |
11ms |
get settings: |
7ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
163ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
59ms |
get tp. blocked users: |
2ms |
| others: | 578ms |
| total: | 865ms |

| 0 / 0 |
