02.11.2007, 13:52 | #1 |
Участник
|
работа с ComVariant или как считать DateTime из MySQL ??
Здравствуйте!
Не подскажете, как считать поле типа DateTime из MySQL? Подключение через ODBC. Считываю в переменную типа Int. Потом через ComVariant пытаюсь вытащаить оттуда дату и время: X++: ComVariant com = new ComVariant(ComVariantInOut::In_out, ComVariantType::VT_DATE); int dateAll = 841495444; // 22.10.2007 18:08:49 ; com.Long(dateall); info(strfmt("Время получилось такое: %1 %2 %3", com.date(), time2str(com.time(), 1, 3), com.long())); При этом, обратное работает верно: X++: ComVariant com = new ComVariant(ComVariantInOut::In_out, ComVariantType::VT_DATE); ; com.date(22\10\2007); com.time(65329); // 18:08:49 info(strfmt("Изначально было так: %1 %2 %3", com.date(), time2str(com.time(), 1, 3), com.long())); А есть еще какой-нибудь способ считать DateTime? |
|
02.11.2007, 14:05 | #2 |
Участник
|
По-моему datetime - это double, где целая часть это дата, а дробная время. Поэтому его надо доставать, как com.double().
Время когда-то я доставал так: X++: int time = frac(datatime)*86400; |
|
02.11.2007, 15:24 | #3 |
Участник
|
точно! просто Double ))
Спасибо большое! - все работает: X++: ComVariant com = new ComVariant(ComVariantInOut::In_out, ComVariantType::VT_DATE); real dateAll = 39377.7552199074; // 22.10.07 18:0731 ; com.double(dateall); info(strfmt("Время получилось такое: %1 %2 %3", com.date(), time2str(com.time(), 1, 3), com.long())); |
|