#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 ().