Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 1.0/2.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 18.04.2008, 05:49
DJ_Baton вне форума Посмотреть профиль Отправить личное сообщение для DJ_Baton Найти все сообщения от DJ_Baton
  № 1  
Ответить с цитированием
DJ_Baton

Регистрация: 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;
	}
};
С часами проблем ноль, а вот месяц почему-то принимает первый за ноль (пришлось тупо писать +1 чтобы подогнать под норму, это вообще глюк флэша или как ?

Год это вообще финиш, показывает 108 вместо 2008, мне и тут 1900 прибавлять что ли ? Маразм какойто )) В общем объясните плиз то ли у меня руки кривые то ли флэш чего-то не так обрабатывает.

Заранее спасибо!


Последний раз редактировалось DJ_Baton; 18.04.2008 в 06:14.
Старый 18.04.2008, 06:07
iNils вне форума Посмотреть профиль Отправить личное сообщение для iNils Посетить домашнюю страницу iNils Найти все сообщения от iNils
  № 2  
Ответить с цитированием
iNils
Негуру
 
Аватар для iNils

администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,883
Записей в блоге: 7
1. Нумерация месяцев начинается с нуля. Сделано это для удобства работы с массивами содержащие названия месяцев.
2. Чтобы получить 2008 год, надо использовать метод getFullYear ()
3. Заглядывайте в хелп.
__________________
(и)Нильс.ru | Плагины для FlashDevelop

Старый 18.04.2008, 06:16
DJ_Baton вне форума Посмотреть профиль Отправить личное сообщение для DJ_Baton Найти все сообщения от DJ_Baton
  № 3  
Ответить с цитированием
DJ_Baton

Регистрация: 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.
Старый 18.04.2008, 06:37
iNils вне форума Посмотреть профиль Отправить личное сообщение для iNils Посетить домашнюю страницу iNils Найти все сообщения от iNils
  № 4  
Ответить с цитированием
iNils
Негуру
 
Аватар для iNils

администратор
Регистрация: 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]);
};
__________________
(и)Нильс.ru | Плагины для FlashDevelop

Старый 18.04.2008, 14:48
DJ_Baton вне форума Посмотреть профиль Отправить личное сообщение для DJ_Baton Найти все сообщения от DJ_Baton
  № 5  
Ответить с цитированием
DJ_Baton

Регистрация: Aug 2003
Сообщений: 204
Да супер, компактнее и гибче вышла у тебя =) просто я скрипт не так хорошо знаю, свой скрипт я досконально понимаю и знаю где какая функция, в твоём увы не все функции мне понятны

Хотя и в моём есть плюсы, на основе моего можно элементарно сделать механические часы и выводить к уже присвоенным переменным отдельные динамические тексты, т.е. вывести отдельно секунды, часы и т.п.

Старый 18.04.2008, 17:44
iNils вне форума Посмотреть профиль Отправить личное сообщение для iNils Посетить домашнюю страницу iNils Найти все сообщения от iNils
  № 6  
Ответить с цитированием
iNils
Негуру
 
Аватар для iNils

администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,883
Записей в блоге: 7
Для механических часов, ноль перед цифрой не нужен, поэтому задача изначально проще.
А в моем коде наверно непонятно как выводится время (день, месяц и год также как и у вас, просто общую часть кода вынесли в отдельную функцию). Объясняю:
1. Если вывести просто time, то мы получим такой текст
Код:
Fri Apr 18 16:05:06 GMT+0400 2008
. То есть, в этой строке уже есть готовое время с нулем в начале, нам нужно его только вытащить.
2. Для этого мы объект дата сначала преобразовываем в строку
Код:
time.toString ()
3. Теперь разбиваем эту строку в массив, используя в качестве разделителя пробел
Код:
time.toString ().split (" ");
4. Полученный массив имеет такое содержимое
Код:
Fri,Apr,18,16:40:25,GMT+0400,2008
И мы видим, что четвертый элемент массива, это искоемое время. Остается только его вывести.
5. Отсчет элементов массива начинается с нуля. Поэтому наш четвертый элемент имеет индекс 3 - (0,1,2,3)
Код:
trace (array[3])
__________________
(и)Нильс.ru | Плагины для FlashDevelop


Последний раз редактировалось iNils; 18.04.2008 в 17:47.
Старый 23.04.2008, 06:34
DJ_Baton вне форума Посмотреть профиль Отправить личное сообщение для DJ_Baton Найти все сообщения от DJ_Baton
  № 7  
Ответить с цитированием
DJ_Baton

Регистрация: Aug 2003
Сообщений: 204
А вот ещё возник вопрос, есть ли какой-нибудь способ привязать часы к определенному часовому поясу, т.е. что бы чётко показывалось правильное время в определенной стране ? Понимаю что для этого через Get|Post скорее всего нужно обрабатывать через PhP, но всё же может у макромедии/адоба есть какой-то свой часовой сервер и спец. функции во флэше под это дело ?

Старый 23.04.2008, 08:37
qazwsx вне форума Посмотреть профиль Найти все сообщения от qazwsx
  № 8  
Ответить с цитированием
qazwsx
Banned
[+5 15.02.09]
[++5 15.02.09]

Регистрация: Mar 2008
Адрес: Krasnoyarsk
Сообщений: 587
Нужно иногда и хелп читать. Используя метод getDate(), getSeconds() и пр. Време берется с часов находящихся на компьютере пользователя >_>

Старый 23.04.2008, 13:52
iNils вне форума Посмотреть профиль Отправить личное сообщение для iNils Посетить домашнюю страницу iNils Найти все сообщения от iNils
  № 9  
Ответить с цитированием
iNils
Негуру
 
Аватар для iNils

администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,883
Записей в блоге: 7
Метод getTimezoneOffset() показывает ваш часовой пояс (если он правильно выставлен в системе), таким образом можете узнать время по Гринвичу и сделать смещение на другой часовой пояс.
__________________
(и)Нильс.ru | Плагины для FlashDevelop

Старый 23.04.2008, 20:29
DJ_Baton вне форума Посмотреть профиль Отправить личное сообщение для DJ_Baton Найти все сообщения от DJ_Baton
  № 10  
Ответить с цитированием
DJ_Baton

Регистрация: Aug 2003
Сообщений: 204
qazwsx, ))) это и так ясно
iNils, данные часового пояса соответственно с моего компа берутся ? т.е. моя задача что бы часы на сайте показывали точное время по Киеву для всех находящихся на сайте, getTimezoneOffset() как я понимаю берут данные локальной тачки, а не сверяются с сервером в инете

Создать новую тему Ответ Часовой пояс GMT +4, время: 09:43.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 09:43.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.