![]() |
|
||||||||||
|
|
|
|||||
|
Регистрация: Aug 2003
Сообщений: 204
|
С часами проблем никаких нет, а вот время почему-то гонит
onEnterFrame = function () {
time = new Date();
date_time = time.getDate();
month_time = time.getMonth()+1;
year_time = time.getYear();
sec_time = time.getSeconds();
time_m = time.getMinutes();
time_th = time.getHours();
sec = sec_time*6;
min = time_m*6;
th = time_th*30+min/12;
if (month_time<10) {
month_time = "0"+month_time;
}
if (date_time<10) {
date_time = "0"+date_time;
}
if (sec_time<10) {
sec_time = "0"+sec_time;
}
if (time_th<10) {
time_th = "0"+time_th;
}
if (time_m<10) {
time_m = "0"+time_m;
}
};
Год это вообще финиш, показывает 108 вместо 2008, мне и тут 1900 прибавлять что ли ? Маразм какойто )) В общем объясните плиз то ли у меня руки кривые то ли флэш чего-то не так обрабатывает. Заранее спасибо! Последний раз редактировалось DJ_Baton; 18.04.2008 в 06:14. |
|
|||||
|
Негуру
администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,883
Записей в блоге: 7
|
1. Нумерация месяцев начинается с нуля. Сделано это для удобства работы с массивами содержащие названия месяцев.
2. Чтобы получить 2008 год, надо использовать метод getFullYear () 3. Заглядывайте в хелп. |
|
|||||
|
Регистрация: Aug 2003
Сообщений: 204
|
заглядывал, видимо невнимательно, спасибо
![]() В итоге получил отличный скрипт который всего в одном динамическом поле выводит полностью дату и время ![]() onEnterFrame = function () {
time = new Date();
date_time = time.getDate();
month_time = time.getMonth()+1;
year_time = time.getFullYear();
sec_time = time.getSeconds();
time_m = time.getMinutes();
time_th = time.getHours();
if (month_time<10) {
month_time = "0"+month_time;
}
if (date_time<10) {
date_time = "0"+sec_time;
}
if (sec_time<10) {
sec_time = "0"+sec_time;
}
if (time_th<10) {
time_th = "0"+time_th;
}
if (time_m<10) {
time_m = "0"+time_m;
}
all_date = date_time+"."+month_time+"."+year_time+" | "+time_th+":"+time_m+":"+sec_time;
};
Последний раз редактировалось DJ_Baton; 18.04.2008 в 06:24. |
|
|||||
|
Негуру
администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,883
Записей в блоге: 7
|
Я бы сделал так
function twoDigit (num:Number):String {
var str:String = "";
if (num < 10) {
str += "0";
}
str += String (num);
return str;
}
onEnterFrame = function () {
var time:Date = new Date ();
var array:Array = time.toString ().split (" ");
trace (twoDigit (time.getDate ()) + "." + twoDigit (time.getMonth () + 1) + "." + time.getFullYear () + " | " + array[3]);
};
|
|
|||||
|
Регистрация: Aug 2003
Сообщений: 204
|
Да супер, компактнее и гибче вышла у тебя =) просто я скрипт не так хорошо знаю, свой скрипт я досконально понимаю и знаю где какая функция, в твоём увы не все функции мне понятны
![]() Хотя и в моём есть плюсы, на основе моего можно элементарно сделать механические часы и выводить к уже присвоенным переменным отдельные динамические тексты, т.е. вывести отдельно секунды, часы и т.п. |
|
|||||
|
Негуру
администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,883
Записей в блоге: 7
|
Для механических часов, ноль перед цифрой не нужен, поэтому задача изначально проще.
А в моем коде наверно непонятно как выводится время (день, месяц и год также как и у вас, просто общую часть кода вынесли в отдельную функцию). Объясняю: 1. Если вывести просто time, то мы получим такой текст . То есть, в этой строке уже есть готовое время с нулем в начале, нам нужно его только вытащить. 2. Для этого мы объект дата сначала преобразовываем в строку 3. Теперь разбиваем эту строку в массив, используя в качестве разделителя пробел 4. Полученный массив имеет такое содержимое И мы видим, что четвертый элемент массива, это искоемое время. Остается только его вывести. 5. Отсчет элементов массива начинается с нуля. Поэтому наш четвертый элемент имеет индекс 3 - (0,1,2,3) Последний раз редактировалось iNils; 18.04.2008 в 17:47. |
|
|||||
|
Регистрация: Aug 2003
Сообщений: 204
|
А вот ещё возник вопрос, есть ли какой-нибудь способ привязать часы к определенному часовому поясу, т.е. что бы чётко показывалось правильное время в определенной стране ? Понимаю что для этого через Get|Post скорее всего нужно обрабатывать через PhP, но всё же может у макромедии/адоба есть какой-то свой часовой сервер и спец. функции во флэше под это дело ?
|
|
|||||
|
Banned
Регистрация: Mar 2008
Адрес: Krasnoyarsk
Сообщений: 587
|
Нужно иногда и хелп читать. Используя метод getDate(), getSeconds() и пр. Време берется с часов находящихся на компьютере пользователя >_>
|
|
|||||
|
Регистрация: Aug 2003
Сообщений: 204
|
qazwsx, ))) это и так ясно
![]() iNils, данные часового пояса соответственно с моего компа берутся ? т.е. моя задача что бы часы на сайте показывали точное время по Киеву для всех находящихся на сайте, getTimezoneOffset() как я понимаю берут данные локальной тачки, а не сверяются с сервером в инете |
![]() |
![]() |
Часовой пояс GMT +4, время: 08:59. |
|
|
« Предыдущая тема | Следующая тема » |
|
|