WN

WN (https://www.wn.se/forum/index.php)
-   Serversidans teknologier (https://www.wn.se/forum/forumdisplay.php?f=4)
-   -   PHP kod (tid) (https://www.wn.se/forum/showthread.php?t=1052065)

MusikMixen 2012-02-01 21:15

PHP kod (tid)
 
Hej
Har denna koden här som jag tror ställer till lite. Det är en kod från joomla plugin. Servern är på svensk tid men ändå så visar den fel. Allt är rätt inställt i joomla m.m.

function time_diff( $timestamp )
{
$start = strtotime( $timestamp );
$end = time();
if($start <= $end)
{
$d = $end - $start;
if( $days = intval((floor($d/86400))) ) $d = $d % 86400;
if( $hours = intval((floor($d/3600))) ) $d = $d % 3600;
if( $minutes = intval((floor($d/60))) ) $d = $d % 60;
//$d = intval( $d );
if($days == 0 && $hours == 0 && $minutes == 0)
{
return JText::_('MOD_GK_JS_STATS_MOMENT_AGO');
}
else
{
$str = '';
$str .= ($days > 0) ? (($days == 1) ? $days.' '.JText::_('MOD_GK_JS_STATS_DAY').' ' : $days.' '.JText::_('MOD_GK_JS_STATS_DAYS').' ') : '';
$str .= ($hours > 0) ? (($hours == 1) ? $hours.' '.JText::_('MOD_GK_JS_STATS_HOUR').' ' : $hours.' '.JText::_('MOD_GK_JS_STATS_HOURS')).' ' : '';
$str .= ($minutes > 0) ? (($minutes == 1) ? $minutes.' '.JText::_('MOD_GK_JS_STATS_MINUTE').' ' : $minutes.' '.JText::_('MOD_GK_JS_STATS_MINUTES')).' ' : '';
$str .= JText::_('MOD_GK_JS_STATS_AGO');
}
return $str;
}
else

coredev 2012-02-01 21:37

Vad har du för värde in på $timestamp, vad får du ut och vad förväntar du dig att få ut? :-)

MusikMixen 2012-02-01 21:41

Citat:

Ursprungligen postat av coredev (Inlägg 20431496)
Vad har du för värde in på $timestamp, vad får du ut och vad förväntar du dig att få ut? :-)

Den slår fel 1 timme och 10 min tror jag det är..
Så här står det: Senaste aktivitet en stund sedan ...
Tittar man då på flödet så är senaste för över en timme sedan..

Kör jag "date" på linux burken så får jag ut svensk tid... Så tiden borde vara rätt..

jayzee 2012-02-01 21:47

PHP-kod:

echo date_default_timezone_get(); 

är outputen något annat än någon stad i vår tidszon så ligger felet där.

MusikMixen 2012-02-01 21:50

Citat:

Ursprungligen postat av jayzee (Inlägg 20431500)
PHP-kod:

echo date_default_timezone_get(); 

är outputen något annat än någon stad i vår tidszon så ligger felet där.

Timezonen är Europa/Stockholm, både på servern och i Joomla.

Edit: Ser nu att den står på Europe/Berlin.. Men enligt servern och Joomla så är det Europe/Stockholm.

MusikMixen 2012-02-02 09:53

Har bytt i php.ini till Europa/Stockholm.. Men det står fortfarande "Senaste inlägg gjordes för 1 timme sedan" när jag precis postat ett inlägg.

SweLogan 2012-02-10 11:01

Läs lite här: http://www.php.net/manual/en/timezones.europe.php

Tror det ska stå "Europe/Stockholm" siället för "Europa/Stockholm"

MusikMixen 2012-02-10 18:46

Citat:

Ursprungligen postat av SweLogan (Inlägg 20432357)
Läs lite här: http://www.php.net/manual/en/timezones.europe.php

Tror det ska stå "Europe/Stockholm" siället för "Europa/Stockholm"

Tack för ditt svar! Jag läste problemet för nga dagar sedan, var tydligen scriptet som inte var 100% :)


Alla tider är GMT +2. Klockan är nu 07:52.

Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson