Дата и час на потребителската машина с PHP?

C++ JAVA
relax
Потребител
Потребител
Posts: 1120
Joined: Fri Dec 22, 2006 8:48 pm
Answers: 49

Post by relax » Sun Jun 14, 2009 10:53 am

Code: Select all

<?php
date_default_timezone_set&#40;'Europe/Sofia'&#41;;

$datetime = new DateTime&#40;"now"&#41;;
$timeZone = $datetime->getTimezone&#40;&#41;->getName&#40;&#41;;

echo date&#40;"Y-m-d H&#58;i&#58;s", time&#40;&#41;+$datetime->getOffset&#40;$timeZone&#41;&#41;;
?>
Ето какво измислих аз... с малко помощ от php.net

date_default_timezone_set('Europe/Sofia'); - това го задаваш така от където искаш да пресмята часовете. В случая съм го задал Europe/Sofia защото все пак сме в България.

Останалото взима сегашното време на потребителя и чрез него изкарва timezone-а след което изчислява offset-а в UNIX формат, и го пращам на date() да изкара точния час. Надявам се да ти помогне.


За жалост сега нямам наличен познат в чужбина за да проверя дали работи. Ако имаш качи го някъде и му кажи да пробва и да каже колко часа ще му показва.
Image

tema-71362

raiden
Гуру
Гуру
Posts: 2182
Joined: Fri Dec 08, 2006 8:13 am
Answers: 190
Location: Варна

Post by raiden » Sun Jun 14, 2009 1:04 pm

А тоя клас DateTime от къде идва?

relax
Потребител
Потребител
Posts: 1120
Joined: Fri Dec 22, 2006 8:48 pm
Answers: 49

Post by relax » Sun Jun 14, 2009 2:25 pm

raiden wrote:А тоя клас DateTime от къде идва?


Това е вграден клас в PHP-то
Image

tema-71362

sizif
Потребител
Потребител
Posts: 1197
Joined: Fri Sep 22, 2006 8:13 pm
Answers: 72

Post by sizif » Sun Jun 14, 2009 2:53 pm

relax,

ще го пробвам довечера и ще пиша за резултата. Ако проработи, точката е за теб! :)
Корабът потъва нормално, вода има за всички!

sizif
Потребител
Потребител
Posts: 1197
Joined: Fri Sep 22, 2006 8:13 pm
Answers: 72

Post by sizif » Mon Jun 15, 2009 8:43 am

relax,

пробвах го от БГ, но ми дава предупреждение за 7 ред:

Warning: DateTime::getOffset() expects exactly 0 parameters, 1 given in ... on line 7

Отдавна не ми се беше случвало да гледам няколко реда код и да не вдявам :(

Имаш ли идея на какво се дължи предупреждението?
Корабът потъва нормално, вода има за всички!

relax
Потребител
Потребител
Posts: 1120
Joined: Fri Dec 22, 2006 8:48 pm
Answers: 49

Post by relax » Mon Jun 15, 2009 9:07 am

С кой сървър си? Защото аз съм с WAMP и си бачка. Пък ако го качваш на хостинг ще трябва да се добави един пакет - http://pecl.php.net/get/timezonedb
Image

tema-71362

sizif
Потребител
Потребител
Posts: 1197
Joined: Fri Sep 22, 2006 8:13 pm
Answers: 72

Post by sizif » Mon Jun 15, 2009 9:35 am

Пък ако го качваш на хостинг ще трябва да се добави един пакет - http://pecl.php.net/get/timezonedb
Да, ще ползвам споделен сървър. Къде трябва да го инсталирам този пакет?

Дали в cpanel-a няма опция за автоматичен инстал или нямаш идея?
Корабът потъва нормално, вода има за всички!

relax
Потребител
Потребител
Posts: 1120
Joined: Fri Dec 22, 2006 8:48 pm
Answers: 49

Post by relax » Mon Jun 15, 2009 4:28 pm

sizif wrote:
Пък ако го качваш на хостинг ще трябва да се добави един пакет - http://pecl.php.net/get/timezonedb
Да, ще ползвам споделен сървър. Къде трябва да го инсталирам този пакет?

Дали в cpanel-a няма опция за автоматичен инстал или нямаш идея?


Оо нямам идея, сорка.
Image

tema-71362

sizif
Потребител
Потребител
Posts: 1197
Joined: Fri Sep 22, 2006 8:13 pm
Answers: 72

Post by sizif » Sat Jun 20, 2009 10:57 am

Здравейте!

С малко закъснение благодаря на всички, които взеха отношение по темата. Направих вземането на времето с Js и изображение (ИМГ-таг), чийто адрес препраща ГЕТ-стойностите към скрипт.

Използвах идеи от кода на raiden, затова точката отива при него, макар че ако имах възможност бих разпределил повече точки.
Корабът потъва нормално, вода има за всички!

Post Reply