Разбить строку даты и времени

добрый день
возникла необходимость в поле ActualDurationHours выводить количество часов, а в поле ActualDurationMinutes количество минут. Эти данные должны получаться из полей ActualStartDate и
ActualFinishDate, которые имеют вид 07.07.2011 14:21.
Как я понял эту строку нужно разбить сплитом на массив, но если я выделяю так

          var ActualStartDate = BaseDBEdit.Dataset.Values('ActualStartDate');
          ActualStartDate = ActualStartDate.split(' ');

Чтобы получить ActualStartDate[0]=07.07.2011 и ActualStartDate[1]=14:21 получаю ошибку, что необходимо наличие объекта. Как справиться с данной ситуацией? Без ActualStartDate = ActualStartDate.split(' '); скрипт работает. Дебагер показывает ошибку на нее.

Нравится

5 комментариев

Олег посмотрите пожалуйста на следующий код :

var theDate = new Date(Date.parse(Dataset.ValAsDateTime('Date')));
MessageBox( theDate.getFullYear() + "-" + (theDate.getMonth()+ 1) + "-" + theDate.getDate() + " "+theDate.getHours() + ":" + theDate.getMinutes() + ":" + theDate.getSeconds() );

http://community.terrasoft.ua/blogs/6565

и если у вас возникнут вопросы, будем рады помочь

В данной случае я получу 07.07.2011 14:21:0, а мне нужно получить 14:21

За получение секунд отвечает метод getSeconds():

var theDate = new Date(Date.parse(Dataset.ValAsDateTime('Date')));
MessageBox(theDate.getFullYear() + "-" + (theDate.getMonth()+ 1) + "-" + theDate.getDate() + " "+theDate.getHours() + ":" + theDate.getMinutes() + ":" + theDate.getSeconds());

Получает : 2011-6-27 12:45:0

Если мы уберем вызов соответствующих методов

var theDate = new Date(Date.parse(Dataset.ValAsDateTime('Date')));
MessageBox(theDate.getHours() + ":" + theDate.getMinutes());

то мы получим
12:45

Олег, посмотрите на эти свойства ValAsDateTime и Kind

Спасибо за советы, помогло.

Показать все комментарии