AXForum  
Вернуться   AXForum > Microsoft Dynamics AX > DAX: Программирование
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 03.12.2010, 09:30   #1  
samolalex is offline
samolalex
Участник
Аватар для samolalex
Самостоятельные клиенты AX
 
259 / 107 (4) +++++
Регистрация: 18.06.2010
Адрес: Москва
Есть метод в классе Global Time2StrHM:
X++:
static void TestTimeJob(Args _args)
{
    TimeHour24  tm = timenow();
    ;
    info(Time2StrHM(tm));
}
Код метода:
X++:
static TempStr time2StrHM(int tIME)
{
    return num2str( tIME div 3600       ,2,0,0,0)+':'+
           num2Str0(tIME mod 3600 div 60,2,0,0,0);
}
__________________
С уважением, Александр.

Последний раз редактировалось samolalex; 03.12.2010 в 09:58.
За это сообщение автора поблагодарили: Zabr (3), farlander (1).
Старый 03.12.2010, 13:40   #2  
Zabr is offline
Zabr
Участник
Axapta Retail User
 
1,202 / 345 (14) ++++++
Регистрация: 26.06.2002
Адрес: Москва
Цитата:
Сообщение от samolalex Посмотреть сообщение
Есть метод в классе Global Time2StrHM:
Спасибо за Time2StrHM, не знал. В ней оказался еще один большой плюс. Например, вы хотите показать не время, а временную разницу между двумя моментами времени, причем они могут быть в разные сутки (то есть разница больше 24 часов). Так вот, функция time2str показывает максимальное время 24:59:59 (если больше, показыват строку "????????"). А Time2StrHM - любое !
Как говорится, век живи - век учись....
За это сообщение автора поблагодарили: S.Kuskov (1), samolalex (1).
Старый 03.12.2010, 14:01   #3  
samolalex is offline
samolalex
Участник
Аватар для samolalex
Самостоятельные клиенты AX
 
259 / 107 (4) +++++
Регистрация: 18.06.2010
Адрес: Москва
Цитата:
Сообщение от Zabr Посмотреть сообщение
Спасибо за Time2StrHM, не знал. В ней оказался еще один большой плюс. Например, вы хотите показать не время, а временную разницу между двумя моментами времени, причем они могут быть в разные сутки (то есть разница больше 24 часов). Так вот, функция time2str показывает максимальное время 24:59:59 (если больше, показыват строку "????????"). А Time2StrHM - любое !
Как говорится, век живи - век учись....
Да, если значение времени больше 86400 - количества секунд в сутках, то функция time2str() возвратит строку "????????". А метод Time2StrHM преобразует число в совокупное время без учета суточной цикличности, и в этом огромный плюс
__________________
С уважением, Александр.
Старый 03.12.2010, 14:42   #4  
Zabr is offline
Zabr
Участник
Axapta Retail User
 
1,202 / 345 (14) ++++++
Регистрация: 26.06.2002
Адрес: Москва
Цитата:
Сообщение от samolalex Посмотреть сообщение
Да, если значение времени больше 86400 -
Нет-нет! именно если больше 24:59:59, а не 24:00:00 ! необъяснимо, но факт: число секунд не в сутках, а именно сутки плюс 59 минут плюс 59 секунд. Именно начиная с 25 часов time2str не работает.
За это сообщение автора поблагодарили: farlander (1).
Старый 03.12.2010, 15:02   #5  
samolalex is offline
samolalex
Участник
Аватар для samolalex
Самостоятельные клиенты AX
 
259 / 107 (4) +++++
Регистрация: 18.06.2010
Адрес: Москва
Цитата:
Сообщение от Zabr Посмотреть сообщение
Нет-нет! именно если больше 24:59:59, а не 24:00:00 ! необъяснимо, но факт: число секунд не в сутках, а именно сутки плюс 59 минут плюс 59 секунд. Именно начиная с 25 часов time2str не работает.
Хмм.. а у меня в Axapta 3 получается так:
X++:
static void TestTime(Args _args)
{
    ;
    info(time2str(str2time("24:59:59"), 1, 1)); //Возвращает "??????"
    info(time2str(str2time("24:00:00"), 1, 1)); //Возвращает "24:00:00"
    info(time2str(str2time("24:00:01"), 1, 1)); //Возвращает "??????"    
}
т.е. если время, возвращаемое str2time(), больше 86400, функция time2str() возвращает неопределенное значение в виде "вопросов".
__________________
С уважением, Александр.
Теги
div

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Как получить из элемента enum-а код типа (enum-а)? Romb DAX: База знаний и проекты 12 27.06.2013 16:17
Значение по умолчанию параметра типа EDT c array elements либо просто массива HorrR DAX: Программирование 16 20.02.2008 19:18
Как получить имя типа расширенного типа velk DAX: Программирование 9 03.08.2006 14:17
Создание нового типа журнала в Управлении запасами vasiliy DAX: Программирование 2 03.11.2005 14:46
Почему в InventJournalTrans поле linenum вещественного типа?! ATimTim DAX: Программирование 7 17.06.2004 17:35

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 10:35.