Отображение даты и времени в привычном виде

Стартовая страница Форумы Понять, как работает ПО Использование формул Отображение даты и времени в привычном виде

  • В этой теме 10 ответов, 4 участника, последнее обновление 4 года назад сделано manjey73.
Просмотр 11 сообщений - с 1 по 11 (из 11 всего)
  • Автор
    Сообщения
  • #15497
    Seliverstoff.yu
    Участник

    Здравствуйте! подскажите как мне в привычном виде вывести дату и время если имею 5 сигналов: час, минута, день, месяц, год. А год 2020 еще и с пробелом выводит 2 020, а хотелось бы как глаз привык например 16:45 28.03.2020

    #15499
    manjey73
    Участник

    Собрать все сигналы формулой и привести к DoubleTime, указать показывать как ДатаВремя.

    #15502
    Seliverstoff.yu
    Участник

    А что за формула? Я пока полный нуб

    #15503
    manjey73
    Участник

    Поищите в нете, как на C# собрать время в DateTime, потом собранному надо сделать ToOADate() и получите собственно время в double значении.

    не совсем понял на счет пробела в годе ? это возможно просто тип отображения числа, не более того

    #15504
    manjey73
    Участник

    DateTime dateTime = new DateTime(year, month, day, hour, minute, second); // формируем переменную времени в формате DateTime

    год, месяц, день, час, минуты, секунды должны быть формата int — это ваши каналы
    а далее
    dateTime.ToOADate()

    #15507
    Seliverstoff.yu
    Участник

    А у меня каналы 2 байтные, каждый параметр одну ячейку занимает, а если init ставить то по два канала каждый параметр займет. говорю же НУб)))) а эту формулу в поле нового входного канала вводить с типом дорасчетный?шаблон устройства
    PS с яндекс диска картинки не вставляются? откуда кидать?

    • Этот ответ был изменен 4 года назад от Seliverstoff.yu.
    • Этот ответ был изменен 4 года назад от Seliverstoff.yu.
    • Этот ответ был изменен 4 года назад от Seliverstoff.yu.
    #15511
    Romiros
    Участник

    Посмотрите в разделе Вопросы без категории -> Использование форума

    • Этот ответ был изменен 4 года назад от Romiros.
    • Этот ответ был изменен 4 года назад от Romiros.
    #15514
    manjey73
    Участник

    Seliverstoff.yu не важно, какие у вас переменные, в БД они все double.

    Формула будет типа такой

    public double SplitTime (double year, double month, double day, double hour, double minute, double second)
    {
    DateTime dateTime = new DateTime((int)year, (int)month, (int)day, (int)hour, (int)minute, (int)second);
    return dateTime.ToOADate();
    }

    Формулу добавить в Справочник — Формулы
    Вызов в дорасчетном канале например 110 c установкой «Использовать формулу»
    SplitTime(Val(100), Val(101), Val(102), Val(103), Val(104), Val(105), 0)
    Вместо секунд ставим 0 или используем канал секунд по аналогии. где Val(Номер) соответствует году, месяцу и т.д.

    з.ы. формулу не проверял. На дорасчетный канал выставить Формат — ДатаВремя, Дата или Время

    #15515
    Seliverstoff.yu
    Участник

    О!!! Получилось! Ура! Огромное спасибо) далек от языков, потихоньку буду вникать. Благодарю!!

    #15518
    Mikhail
    Модератор

    Split — переводится как разделить, скорее тогда Join ))

    #15520
    manjey73
    Участник

    А, ну да. надо Join назвать…

Просмотр 11 сообщений - с 1 по 11 (из 11 всего)
  • Вы должны авторизироваться для ответа в этой теме.