Скриптинг в CS2

Статус
Закрыто для дальнейших ответов.

chesen

Топикстартер
15 лет на форуме
Сообщения
553
Реакции
49
Появилась необходимость добавлять к названию активного слоя текущее время. Знаю, что задача несложная, скрипт в пару строк, но как мне кажется, есть несовместимость с операционкой (WinXP) по части отображения времени. Может, кто поможет?
 
W

wright

Гость
Ответ: Скриптинг в CS2

На яве время берется в миллисекундах от 1 января 1970 года. Вам нужно только отформатировать его.

Вот тутор http://www.w3schools.com/js/js_obj_date.asp - там есть ссылка на полный реф по объекту Date.

Например:

PHP:
var date = new Date();
alert(date.getHours() +':'+date.getMinutes()+':'+date.getSeconds());

Проверьте. Но, там будет некрасиво - без лидирующих нулей, например 12:5:2 - 12 часов, 5 минут, 2 секунды. То есть надо форматировать для красоты.
 
W

wright

Гость
Ответ: Скриптинг в CS2

Ну да, там же просто длина или 1 или 2, если вам только время. Поэтому функция форматирования очень простая:

PHP:
function f(s){
    return ( s.toString().length == 1 ) ? '0'+s : s;
}

В финале получается так:

PHP:
function fTime() {
   var date = new Date();
   return f(date.getHours())+':'+f(date.getMinutes())+':'+f(date.getSeconds());
}

В использовании: textLayerRef.content = fTime(); или типа того.
 

chesen

Топикстартер
15 лет на форуме
Сообщения
553
Реакции
49
Ответ: Скриптинг в CS2

Проблема в том, по-моему, что при выполнении строки
PHP:
var date = new Date();
сама операционка не позволяет сохранить получившееся название на диск. О чём и появляется сообщение. Необходима строка для ограничения количества и качества выводимых знаков.Они должны соответствовать ограничениям, принятым в файловой системе. К сожалению, у меня не хватает инфы для написания аргумента.
 

chesen

Топикстартер
15 лет на форуме
Сообщения
553
Реакции
49
Ответ: Скриптинг в CS2

Вопрос решил благодаря поискам в сети.
Если кому надо пж:
PHP:
var maDate = ""
var laDate  = new Date();
maDate += laDate.getHours()+ "-";
maDate += laDate.getMinutes()+ "-";
maDate += laDate.getDate() + "-";
maDate += (laDate.getMonth() +1);
 
Статус
Закрыто для дальнейших ответов.