22/12/2015
Преобразование даты из Юлианского календаря
Простейший способ для преобразования Юлианской даты (формат системной переменной DATE) в формат день, месяц, год, часы минуты, секунды, миллисекунды – это использование класса AcDbDate. Вот пример его использования:
Код - C++: [Выделить]
- static void GetDate () {
- struct resbuf rDate;
- double time;
- acedGetVar(_T("DATE"), &rDate);
- time = rDate.resval.rreal;
- AcDbDate testDate;
- testDate.setJulianFraction(time);
- acutPrintf(_T("\nГод=%d\nМесяц=%d\nДень=%d\nМинуты: %d\nСекунды: %d\nМиллисекунды: %d"),
- testDate.year(),
- testDate.month(),
- testDate.day(),
- testDate.minute (),
- testDate.second (),
- testDate.millisecond ());
- }
Аналогично можно поступить для преобразования значения системной переменной TDUSRTIMER:
Код - C++: [Выделить]
- void ASDKgetTime()
- {
- struct resbuf rUsrTime;
- acedGetVar(_T("TDUSRTIMER"), &rUsrTime);
- AcDbDate testDate ;
- testDate.setJulianFraction(rUsrTime.resval.rreal) ;
- acutPrintf(_T("\nМинуты: %d\nСекунды: %d\nМиллисекунды: %d"),
- testDate.minute (),
- testDate.second (),
- testDate.millisecond ());
- }
Источник: http://adndevblog.typepad.com/autocad/2013/01/converting-julian-dates.html
Источник: http://adndevblog.typepad.com/autocad/2013/01/about-tdusrtimer-and-acdbdate.html
Автор перевода: Александр Ривилис
Отредактировано 23.12.2015 в 14:15:07
Обсуждение: http://adn-cis.org/forum/index.php?topic=3295
Опубликовано 22.12.2015Отредактировано 23.12.2015 в 14:15:07