Стартовая страница › Форумы › Понять, как работает ПО › Формулы › Отображение даты и времени в привычном виде
- В этой теме 10 ответов, 4 участника, последнее обновление 6 лет, 4 месяца назад сделано
manjey73.
-
АвторЗаписи
-
28.03.2020 в 14:29 #15497
Seliverstoff.yu
УчастникЗдравствуйте! подскажите как мне в привычном виде вывести дату и время если имею 5 сигналов: час, минута, день, месяц, год. А год 2020 еще и с пробелом выводит 2 020, а хотелось бы как глаз привык например 16:45 28.03.2020
28.03.2020 в 21:19 #15499
manjey73УчастникСобрать все сигналы формулой и привести к DoubleTime, указать показывать как ДатаВремя.
29.03.2020 в 22:28 #15502Seliverstoff.yu
УчастникА что за формула? Я пока полный нуб
29.03.2020 в 22:45 #15503
manjey73УчастникПоищите в нете, как на C# собрать время в DateTime, потом собранному надо сделать ToOADate() и получите собственно время в double значении.
не совсем понял на счет пробела в годе ? это возможно просто тип отображения числа, не более того
29.03.2020 в 23:03 #15504
manjey73УчастникDateTime dateTime = new DateTime(year, month, day, hour, minute, second); // формируем переменную времени в формате DateTime
год, месяц, день, час, минуты, секунды должны быть формата int — это ваши каналы
а далее
dateTime.ToOADate()30.03.2020 в 08:46 #15507Seliverstoff.yu
УчастникА у меня каналы 2 байтные, каждый параметр одну ячейку занимает, а если init ставить то по два канала каждый параметр займет. говорю же НУб)))) а эту формулу в поле нового входного канала вводить с типом дорасчетный?
PS с яндекс диска картинки не вставляются? откуда кидать?-
Ответ изменён 6 лет, 4 месяца назад пользователем
Seliverstoff.yu.
-
Ответ изменён 6 лет, 4 месяца назад пользователем
Seliverstoff.yu.
-
Ответ изменён 6 лет, 4 месяца назад пользователем
Seliverstoff.yu.
30.03.2020 в 09:27 #15511Romiros
Участник30.03.2020 в 09:46 #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(Номер) соответствует году, месяцу и т.д.з.ы. формулу не проверял. На дорасчетный канал выставить Формат — ДатаВремя, Дата или Время
30.03.2020 в 15:06 #15515Seliverstoff.yu
УчастникО!!! Получилось! Ура! Огромное спасибо) далек от языков, потихоньку буду вникать. Благодарю!!
30.03.2020 в 18:28 #15518
MikhailМодераторSplit — переводится как разделить, скорее тогда Join ))
30.03.2020 в 20:57 #15520
manjey73УчастникА, ну да. надо Join назвать…
-
Ответ изменён 6 лет, 4 месяца назад пользователем
-
АвторЗаписи
- Для ответа в этой теме необходимо авторизоваться.