Преобразование даты из текста в дату и время для WebI 4.2

#webi

Вопрос:

Я пытаюсь рассчитать продолжительность между временем начала и текущей датой. Однако данные о времени начала работы представлены в текстовой форме, как показано ниже. Я попытался преобразовать его с помощью =ToDate([Дата начала];»MMddyyyy»), но вместо этого получил #ОШИБКА.

Данные о времени начала

Ответ №1:

Было бы лучше, если бы ваше время начала сохранялось и извлекалось как тип данных DateTime.

Предполагая, что это вне вашего контроля, вам нужно преобразовать строку startTime в дату. Однако я не могу понять, как справиться с миллисекундами, поэтому я избавился от них. Для этого я нашел положение десятичной дроби. Вот моя формула для переменной, называемой десятичной позицией.

 =Pos([Start Date Text]; ".")
 

Затем я беру все, что находится слева от этого, и сохраняю его в обрезанном тексте Даты начала.

 =Left([Start Date Text]; [Decimal Position] - 1)
 

Теперь преобразуйте это в тип данных Даты в Тип даты начала и времени.

 =ToDate([Start Date Text Trimmed]; "yyyy-MM-dd HH:mm:ss")
 

Наконец, вы можете узнать, сколько времени прошло.

 =TimeBetween([Start Date DateTime Type]; [Current Date Time]; HourPeriod)
 

Настройте последний параметр на любой период, который вам нужен.

По какой-то причине мне кажется, что я получаю дополнительные 4 часа.

введите описание изображения здесь

Это может быть проблемой с моими настройками, с которой вы не сталкиваетесь. Это может быть ошибка. Если это так, вы можете настроить время начала с помощью функции RelativeDate ().