В датасете по умолчанию дата хранится в расширенном виде.
Задача: записать в переменную дату без времени.
Если в переменной только дата, можно привести к формату dd.mm.yyyy следующим образом:
ExtractDateAsStr(new Date(Dataset.ValAsDateTime('Date'))).getVarDate);
Если дата должна выводиться в строке:
DateToStr(Dataset.ValAsDateTime('Date'));
5 июля 2011 07:44
Пример на эту тему :
Задача : Как в скрипте получить дату в виде XXXX-XX-XX XX:XX:XX из поля даты в датасете
Пример кода:
var theDate = new Date(Date.parse(Dataset.ValAsDateTime('Date'))) MessageBox( theDate.getFullYear() + "-" + (theDate.getMonth()+ 1) + "-" + theDate.getDate() + " "+theDate.getHours() + ":" + theDate.getMinutes() + ":" + theDate.getSeconds() );
где Date - поле с датасета
Результат работы : 2011-6-27 12:45:0
27 марта 2012 14:26
При выводе таким способом в строку даты, минуты и часы до 10 (0-9) выводятся без ноля.
Например:
theDate = new Date(); theDate.setMinutes(09); Log.Write(1, theDate.getMinutes(09));
Результат: 9
Можно ли как-то это побороть без парсинга?
27 марта 2012 14:56
Метод getMinutes не имеет параметров, его стоит вызывать просто theDate.getMinutes(). И он возвращает число.
Чтобы получить строку с нулём, можно обернуть функцией:
function AddZero(number) { return (number < 10) ? '0' + number : number; } theDate = new Date(); theDate.setMinutes(9); Log.Write(1, AddZero(theDate.getMinutes()));
Показать все комментарии
Войдите или зарегистрируйтесь, что бы комментировать