- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
- 54
- 55
- 56
- 57
- 58
//...
string m_str_datum, m_str_zeit;
m_str_datum.assign(m_str_data , 22 , 6 );
m_str_zeit.assign(m_str_data , 28 , 6 );
m_str_datum = remove_spaces(m_str_datum) ;
m_str_zeit = remove_spaces(m_str_zeit);
string _str_year;
string _str_month;
string _str_day;
int _n_year;
int _n_month;
int _n_day;
_n_year = 0;
_n_month = 0;
_n_day = 0;
_str_day.assign(m_str_datum,0,2);
_str_month.assign(m_str_datum,2,2);
_str_year.assign(m_str_datum,4,2);
sscanf( _str_day.c_str() , "%d", &_n_day );
sscanf( _str_month.c_str(), "%d", &_n_month );
sscanf( _str_year.c_str() , "%d", &_n_year );
if (_n_year > 0 && _n_year < 50)
_n_year += 2000;
else if (_n_year >= 50 && _n_year < 100)
_n_year += 1900;
//...
string _str_hours;
string _str_minutes;
string _str_seconds;
int _n_hours;
int _n_minutes;
int _n_seconds;
_n_hours = 0;
_n_minutes = 0;
_n_seconds = 0;
_str_hours.assign(m_str_zeit,0,2);
_str_minutes.assign(m_str_zeit,2,2);
_str_seconds.assign(m_str_zeit,4,2);
sscanf( _str_hours.c_str() , "%d", &_n_hours );
sscanf( _str_minutes.c_str() , "%d", &_n_minutes );
sscanf( _str_seconds.c_str() , "%d", &_n_seconds );
DateTime _obj_start_time;
try {
_obj_start_time = DateTime(_n_year, _n_month, _n_day, _n_hours, _n_minutes, _n_seconds);
}
//...
Парсим дату ddmmyyhhnnss не по-детски. Код функции которая обрабатывает несколько сотен тысяч строк.