dd.mm.yyyy
Terrasoft
дата
строка
формат даты

Вывод даты в строку

В датасете по умолчанию дата хранится в расширенном виде.
Задача: записать в переменную дату без времени.

Если в переменной только дата, можно привести к формату dd.mm.yyyy следующим образом:

ExtractDateAsStr(new Date(Dataset.ValAsDateTime('Date'))).getVarDate);

Если дата должна выводиться в строке:

DateToStr(Dataset.ValAsDateTime('Date'));

Нравится

Поделиться

3 комментария

Пример на эту тему :
Задача : Как в скрипте получить дату в виде XXXX-XX-XX XX:XX:XX из поля даты в датасете

Пример кода:
[javascript]
var theDate = new Date(Date.parse(Dataset.ValAsDateTime('Date')))
MessageBox( theDate.getFullYear() + "-" + (theDate.getMonth()+ 1) + "-" + theDate.getDate() + " "+theDate.getHours() + ":" + theDate.getMinutes() + ":" + theDate.getSeconds() );
[/javascript]
где Date - поле с датасета

Результат работы : 2011-6-27 12:45:0

При выводе таким способом в строку даты, минуты и часы до 10 (0-9) выводятся без ноля.

Например:
[javascript]
theDate = new Date();
theDate.setMinutes(09);

Log.Write(1, theDate.getMinutes(09));
[/javascript]

Результат: 9

Можно ли как-то это побороть без парсинга?

Метод getMinutes не имеет параметров, его стоит вызывать просто theDate.getMinutes(). И он возвращает число.

Чтобы получить строку с нулём, можно обернуть функцией:
[javascript]
function AddZero(number) {
return (number < 10) ? '0' + number : number;
}

theDate = new Date();
theDate.setMinutes(9);

Log.Write(1, AddZero(theDate.getMinutes()));
[/javascript]

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