добрый день
возникла необходимость в поле ActualDurationHours выводить количество часов, а в поле ActualDurationMinutes количество минут. Эти данные должны получаться из полей ActualStartDate и
ActualFinishDate, которые имеют вид 07.07.2011 14:21.
Как я понял эту строку нужно разбить сплитом на массив, но если я выделяю так
var ActualStartDate = BaseDBEdit.Dataset.Values('ActualStartDate');
ActualStartDate = ActualStartDate.split(' ');
ActualStartDate = ActualStartDate.split(' ');
Чтобы получить ActualStartDate[0]=07.07.2011 и ActualStartDate[1]=14:21 получаю ошибку, что необходимо наличие объекта. Как справиться с данной ситуацией? Без ActualStartDate = ActualStartDate.split(' '); скрипт работает. Дебагер показывает ошибку на нее.
Нравится
5 комментариев
7 июля 2011 17:36
Олег посмотрите пожалуйста на следующий код :
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
и если у вас возникнут вопросы, будем рады помочь
7 июля 2011 17:40
В данной случае я получу 07.07.2011 14:21:0, а мне нужно получить 14:21
7 июля 2011 19:03
За получение секунд отвечает метод 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
8 июля 2011 09:23
Олег, посмотрите на эти свойства ValAsDateTime и Kind
Показать все комментарии
Войдите или зарегистрируйтесь, что бы комментировать