- 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
string modify( const string & str )
{
if( str.size() == 0 ) return "00";
if( str.size() == 1 ) return "0" + str;
return string( str.end() - 2, str.end() );
}
string modify4( const string & str )
{
if( str.size() == 0 ) return "0000";
if( str.size() == 1 ) return "000" + str;
if( str.size() == 2 ) return "00" + str;
if( str.size() == 3 ) return "0" + str;
return string( str.end() - 4, str.end() );
}
string TimeISOFormat( time_t cur )
{
char buf[32];
struct tm * timeinfo;
timeinfo = localtime ( &cur );
strftime(buf, 32, "%y", timeinfo);
string year(buf);
strftime(buf, 32, "%m", timeinfo);
string month(buf);
strftime(buf, 32, "%d", timeinfo);
string day(buf);
strftime(buf, 32, "%H", timeinfo);
string hour(buf);
strftime(buf, 32, "%M", timeinfo);
string minute(buf);
strftime(buf, 32, "%S", timeinfo);
string second(buf);
return modify4( year ) + "-" + modify( month ) + "-" + modify( day ) + "T" + modify( hour )+ ":" + modify( minute )+ ":" + modify( second );
}
string CurrentTimeISOFormat()
{
time_t cur = CurrentTime();
char buf[32];
struct tm * timeinfo;
timeinfo = localtime ( &cur );
strftime(buf, 32, "%y", timeinfo);
string year(buf);
strftime(buf, 32, "%m", timeinfo);
string month(buf);
strftime(buf, 32, "%d", timeinfo);
string day(buf);
strftime(buf, 32, "%H", timeinfo);
string hour(buf);
strftime(buf, 32, "%M", timeinfo);
string minute(buf);
strftime(buf, 32, "%S", timeinfo);
string second(buf);
return modify4( year ) + "-" + modify( month ) + "-" + modify( day ) + "T" + modify( hour )+ ":" + modify( minute )+ ":" + modify( second );
}
time_t CurrentTime()
{
time_t rawtime = 0;
time(&rawtime);
return rawtime;
}
Soul_re@ver 11.04.2014 18:28 # 0
Самое смешное, что кодер знает про strftime, но всё равно делает всё через жопу.
И какой смысл в функции CurrentTime()? В чём её принципиальное отличие от time_t x = time();
bormand 11.04.2014 18:29 # +1
Чувак просто ман по time()/strftime() не дочитал до конца ;) Если быть педантом.
brainiac 11.04.2014 19:13 # 0
Soul_re@ver 11.04.2014 19:27 # 0
bormand 11.04.2014 18:28 # 0
Ну и тем более делать 2 одинаковых функции ;)
bormand 11.04.2014 18:43 # 0
Soul_re@ver 11.04.2014 18:50 # +2
Конечно, для годов > 99 999 999 999 или < -9 999 999 999 произойдёт переполнение буфера
bormand 11.04.2014 18:56 # 0
Нафига скобочки?
Soul_re@ver 11.04.2014 19:04 # +2
bormand 11.04.2014 19:27 # 0
bormand 11.04.2014 19:34 # 0
Soul_re@ver 11.04.2014 19:56 # +2
(Хотя в данном случае — вывод по ISO8601 — это бессмысленно ибо locale independed)
А с таймзоной жопа. Причём %z в коде судя по всему не делает ничего полезного: в локали таймзона не хранится, tm содержит только is_dst.
Вот не могли они сделать нормальный класс для работы со временем? Приходится использовть мутные сишные функции с глобальным состоянием.
bormand 11.04.2014 21:22 # 0
Soul_re@ver 11.04.2014 21:47 # 0
guest 12.04.2014 11:27 # 0
guest 12.04.2014 11:30 # 0
bormand 12.04.2014 12:06 # 0
У ускорение::древо_свойств интерфейс очень приятный, особенно если с++11 можно юзать.
guest 12.04.2014 13:57 # 0
Анон, который меня это спрашивал говорит что ускорение дерева свойств просит какие-то именованные объекты Ясон вместо тех неименованных что ему подсунули. Я хз что это значит, но могу у него спросить подробностей и во вторник рассказать.
И подозреваю тут замкнутый круг. чтобы именовать объекты нужно их разобрать, чтобы их разобрать нужно их именовать. в любом случае тут вечная бустоболь ожидается
bormand 12.04.2014 13:59 # 0
Оббегать ноды удобней из-за кресто11блядского for'а.
> вечная бустоболь ожидается
Да не, все там нормально. Я и массивы и объекты разбирал. Могу примеров подкинуть, если интересно.
guest 12.04.2014 14:10 # 0
bormand 12.04.2014 14:41 # 0
guest 12.04.2014 14:46 # 0
guest 12.04.2014 14:47 # 0
bormand 12.04.2014 14:50 # 0
Твой [{...}, {...}] можно разобрать примерно так:
guest 12.04.2014 17:22 # 0