Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Проблемы с Гриевичем ...

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Описание: ... не знаю как сним справиться.
aldan8
Отправлено: 06 Июля, 2009 - 23:09:24
Post Id



Новичок


Покинул форум
Сообщений всего: 58
Дата рег-ции: Февр. 2009  


Помог: 0 раз(а)




у меня такая проблема возникла , в скрипте вызывается функция date( 'c' ) и это время сохраняется в файле ( обычный текстовой ) . Соответственно функция берёт время из ОС сервера на котором расположен сайт - по Гринвичу разница составляет "-7" , а мне надо что бы время было московское - "+4", т. е. вместо 23:15 записывается 12:15 .
Понимаю что это указывается , через саму функ-ю date() с атрибутами 'O' или 'T' , но не уверен, может есть и какая то другая специальная функ-я . Может , кто поможет , буду крайне признателен .

(Отредактировано автором: 06 Июля, 2009 - 23:12:39)

 
 Top
OverNik
Отправлено: 07 Июля, 2009 - 00:02:40
Post Id



Частый гость


Покинул форум
Сообщений всего: 182
Дата рег-ции: Янв. 2008  


Помог: 0 раз(а)




В чем пробла?
PHP:
скопировать код в буфер обмена
  1.  
  2. $time_g = date("G")-11;
  3. $time_g = str_replace("-","",$time_g);
  4. echo date("часов|минут: ".$time_g.":i и число|месяц|год:  m.d.Y ");
  5.  


$time_g будет тебе московское время Хорошо

(Отредактировано автором: 07 Июля, 2009 - 00:05:31)

 
 Top
aldan8
Отправлено: 07 Июля, 2009 - 01:01:03
Post Id



Новичок


Покинул форум
Сообщений всего: 58
Дата рег-ции: Февр. 2009  


Помог: 0 раз(а)




OverNik пишет:
В чем пробла?

PHP:
скопировать код в буфер обмена
$time_g = date("G")-11;
$time_g = str_replace("-","",$time_g);
echo date("часов|минут: ".$time_g.":i и число|месяц|год: m.d.Y ");
$time_g будет тебе московское время Хорошо


А как быть если скрипт выполнится в 00:00 ?
$time_g = date("G")-11;
$time_g = str_replace("-","",$time_g);

$time_g будет равным 11 , а не 13 .

А может есть какая то функция для таких случаев .
 
 Top
JustUserR
Отправлено: 07 Июля, 2009 - 01:04:04
Post Id



Активный участник


Покинул форум
Сообщений всего: 8715
Дата рег-ции: Июнь 2009  


Помог: 17 раз(а)




OverNik пишет:
$time_g = date("G")-11;
$time_g = str_replace("-","",$time_g);
Не понял как это в так сначала из строки вычитаете 11 а потом еще и разбиваете ее
Смутно представляю как можно ВЫЧЕСТИ из строки число?


-----
Сделать можно все что угодно - нужно только старание, терпение и хороший поисковик Улыбка
Безлимитный web-хостинг от 15 рублей за 40 МБ дискового пространства - http://ihost[dot]oks71[dot]ru/
 
 Top
OverNik
Отправлено: 07 Июля, 2009 - 01:04:21
Post Id



Частый гость


Покинул форум
Сообщений всего: 182
Дата рег-ции: Янв. 2008  


Помог: 0 раз(а)




PHP:
скопировать код в буфер обмена
  1. if(date("G")=<0 or date("G")=>11)
  2. {
  3. условия
  4. }

(Добавление)
JustUserR а если время на серве будет 0:00 то ответ $time_g = -11, а нам нужно просто 11, так что мы ищем "-" и заменяем его на ""
(Добавление)
aldan8 функции нету, толкьо вот такими скриптами Недовольство, огорчение или подобными
(Добавление)
блин лажа.... ну не знаю, поставь условия для кажного всего 24 строки кода )) другие варианты в башку не лезут Недовольство, огорчение

(Отредактировано автором: 07 Июля, 2009 - 01:11:26)

 
 Top
aldan8
Отправлено: 07 Июля, 2009 - 01:27:42
Post Id



Новичок


Покинул форум
Сообщений всего: 58
Дата рег-ции: Февр. 2009  


Помог: 0 раз(а)




я тут нашёл несколько функций , но как то не уверен насчет них :

bool date_default_timezone_set ( string timezone_identifier ) ; // timezone_identifier - это типа таим зона , но в каком виде её записывать ?
string gmstrftime ( string format [, int timestamp] ) ; // где надо указать тайм зону ?
string strftime ( string format [, int timestamp] ) ;
string gmdate ( string format [, int timestamp] ) ;


может ,кто поможет разобраться которая подходит в моём случае .
OverNik , спасибо конечно , но мне всё таки кажется что для таких случаев предусмотрена соотв-я функ-я . Я буду иметь ввиду ваш вариант и если ничего не найду буду импровизировать Подмигивание
 
 Top
OverNik
Отправлено: 07 Июля, 2009 - 01:54:01
Post Id



Частый гость


Покинул форум
Сообщений всего: 182
Дата рег-ции: Янв. 2008  


Помог: 0 раз(а)




щас потещу твою функи отпишу....
(Добавление)
http://habrahabr[dot]ru/blogs/php/19838/ - здесь все по временые оны, в том числе и изменения!
 
 Top
aldan8
Отправлено: 07 Июля, 2009 - 15:20:41
Post Id



Новичок


Покинул форум
Сообщений всего: 58
Дата рег-ции: Февр. 2009  


Помог: 0 раз(а)




Вообщем , я тут перепробовал все эти функции и date_default_timezone_set() оказалась то что мне нужно . Только одно "напрягает" , что она поддерживается только после версии PHP 5.1 и интересно было бы узнать как до этого справлялись в подобных ситуациях .
 
 Top
OverNik
Отправлено: 07 Июля, 2009 - 15:30:41
Post Id



Частый гость


Покинул форум
Сообщений всего: 182
Дата рег-ции: Янв. 2008  


Помог: 0 раз(а)




aldan8 пишет:
интересно было бы узнать как до этого справлялись в подобных ситуациях .

Ыч)
OverNik пишет:
всего 24 строки кода
 
 Top
JustUserR
Отправлено: 07 Июля, 2009 - 16:24:39
Post Id



Активный участник


Покинул форум
Сообщений всего: 8715
Дата рег-ции: Июнь 2009  


Помог: 17 раз(а)




Цитата:
Интересно было бы узнать как до этого справлялись в подобных ситуация
Ранбше вообще многих фукнций удобных е было и както ведь справлялись
В свое время вообще вручную писали функции urldecode (На Perlе в давние года)


-----
Сделать можно все что угодно - нужно только старание, терпение и хороший поисковик Улыбка
Безлимитный web-хостинг от 15 рублей за 40 МБ дискового пространства - http://ihost[dot]oks71[dot]ru/
 
 Top
WNeZRoS
Отправлено: 07 Июля, 2009 - 18:03:36
Post Id



Новичок


Покинул форум
Сообщений всего: 30
Дата рег-ции: Май 2009  


Помог: 0 раз(а)




можно так
PHP:
скопировать код в буфер обмена
  1. date('G:i:s', time()-(3600*11)); // от текущего времени отнимаем 11 часов

(Отредактировано автором: 07 Июля, 2009 - 18:05:58)

 
 Top
aldan8
Отправлено: 07 Июля, 2009 - 18:16:33
Post Id



Новичок


Покинул форум
Сообщений всего: 58
Дата рег-ции: Февр. 2009  


Помог: 0 раз(а)




WNeZRoS пишет:
можно так
PHP:
скопировать код в буфер обмена
  1. date('G:i:s', time()-(3600*11)); // от текущего времени отнимаем 11 часов


Вот это уже более гуманный способ . Хорошо
Юникс временем легко управлять и мне кажется одна из причин его использования в РНР , именно, операции над временем .
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Программирование на PHP »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB