|
|
|
Как проверить дату на верность ? C++ Builder
|
|||
|---|---|---|---|
|
#18+
Например ввожу 12.01.2001 - верно 12.13.2005 или _1.12.2002 - не верно ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.04.2007, 11:26 |
|
||
|
Как проверить дату на верность ? C++ Builder
|
|||
|---|---|---|---|
|
#18+
ИМХО если попытаться вызвать конструктор TDateTime(unsigned short year, unsigned short month, unsigned short day) при некорректной дате будет исключение. Вроде бы так следует из хелпа, попробовать недолго. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.04.2007, 10:40 |
|
||
|
Как проверить дату на верность ? C++ Builder
|
|||
|---|---|---|---|
|
#18+
Можно проверить с помощью StrToDateTimeDef ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.04.2007, 17:50 |
|
||
|
Как проверить дату на верность ? C++ Builder
|
|||
|---|---|---|---|
|
#18+
Begem0t!kНапример ввожу 12.01.2001 - верно 12.13.2005 или _1.12.2002 - не верно а что 3 условия сложно написать ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.04.2007, 18:44 |
|
||
|
Как проверить дату на верность ? C++ Builder
|
|||
|---|---|---|---|
|
#18+
Lepsik Begem0t!kНапример ввожу 12.01.2001 - верно 12.13.2005 или _1.12.2002 - не верно а что 3 условия сложно написать ? Да нет условий поболее например 29.02.1900 - быть не могет а 29.02.2000 могет, а уж если учитавать перход с юлианского на григорианский, вообще попухнуть можно ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.04.2007, 19:03 |
|
||
|
Как проверить дату на верность ? 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, 11:50 |
|
||
|
Как проверить дату на верность ? 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: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 - дата неверная изначально. mktime берет только от 1970-го до 2037-го. Тут в топике аж 1900 вспоминали :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.04.2007, 12:19 |
|
||
|
Как проверить дату на верность ? 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, 12:50 |
|
||
|
Как проверить дату на верность ? 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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.04.2007, 13:09 |
|
||
|
|

start [/forum/topic.php?fid=57&msg=34449473&tid=2029072]: |
0ms |
get settings: |
10ms |
get forum list: |
18ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
160ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
38ms |
get tp. blocked users: |
1ms |
| others: | 213ms |
| total: | 455ms |

| 0 / 0 |
