- 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
- 59
- 60
- 61
- 62
- 63
- 64
- 65
- 66
- 67
- 68
- 69
- 70
- 71
- 72
- 73
- 74
- 75
- 76
- 77
- 78
- 79
DateTime get_date(const char * _sz_date, bool _b_trunc_year)
{
DateTime _obj_dt;
// "01/02/2003" - format of the data
string _str_date = _sz_date;
//--------------
string _str_month;
string _str_year;
int _n_day;
int _n_month;
int _n_year;
///--------------
bool _b_1 = false;
bool _b_2 = false;
size_t _n_pos_1 = 0;
size_t _n_pos_2 = 0;
///--------------
for (size_t _un_num = 0; _un_num < _str_date.size(); _un_num++)
{
if(_str_date[_un_num] == '/')
{
///-----------------
if(!_b_1)
{
_b_1 = true;
_n_pos_1 = _un_num;
continue;
}
///-----------------
if(_b_1 && !_b_2)
{
_b_2 = true;
_n_pos_2 = _un_num;
}
///-----------------
}
}
///--------------
if(!_b_1 || !_b_2)
{
return _obj_dt;
}
///--------------
_str_month = _str_date.substr( _n_pos_1 + 1, ( _n_pos_2 - _n_pos_1 ) - 1 );
_str_year = _str_date.substr( _n_pos_2 + 1, ( _str_date.size() - 1 ) - _n_pos_2 );
if(_b_trunc_year)
{
if(_str_year.size() >=4)
{
_str_year = _str_year.substr(2,2);
}
}
sscanf(_str_month.c_str(), "%d", &_n_month);
sscanf(_str_year .c_str(), "%d", &_n_year);
_n_day = 1;
_obj_dt = DateTime(_n_year,_n_month,_n_day);
return _obj_dt;
}
Парсим дату формата mm/dd/yyyy. Не все так просто в этой жизни.
lamer 14.08.2009 16:14 # 0
Nagg 14.08.2009 16:28 # 0
lamer 14.08.2009 16:33 # 0
guest 14.08.2009 21:01 # 0
KPbhVgy 25.08.2021 04:41 # 0