Avatar billede dmg Nybegynder
11. februar 2007 - 00:48 Der er 9 kommentarer og
2 løsninger

ændre server tid

Hej experts,

Har et stort problem.. Sidder i USA og har uploadet mit site til b-one som er i dk. Men mine dato funktioner virker ikke eftersom serveren køre dansk tid. Er der på nogen måde nogen mulighed for at jeg kan sætte min egen tidszone?

Håber i kan hjælpe!
Avatar billede madeindk Nybegynder
11. februar 2007 - 02:16 #1
Jeg har lige søgt lidt på Google og det første resultat fortalte mig det her :-)

http://www.modwest.com/help/kb5-258.html og så her er tidszonerne: http://www.theprojects.org/dev/zone.txt
Avatar billede coderdk Praktikant
11. februar 2007 - 02:35 #2
Tvivler på at du kan sætte TZ environmentvariablen da one.com nok kører safe mode... Måske kan du bruge strtotime("+6 hours") eller hvor mange timer det er?
Avatar billede dmg Nybegynder
11. februar 2007 - 02:38 #3
yes, den har jeg godt kigget på, men b-one tillader ikke denne Server_variablen fordi den skal bruge SAFE_ON har prøvet.
Avatar billede dmg Nybegynder
11. februar 2007 - 02:43 #4
hhhmm... Måske kunne denne virke (strtotime("+6 hours")), men hvad med sommertid osv. Jeg er lokaliseret på hawaii og her sætter man ik tiden frem eller tilbage, så hvis jeg brugte denne kode, så ville jeg manuelt skulle gøre det ik? fordi lige nu er det 11 timer foreskel, men når i skifter til sommertid er det 12 timer.
Kan man gøre noget her?
Avatar billede coderdk Praktikant
11. februar 2007 - 03:18 #5
Tjah, det eneste jeg lige kan komme i tanker om er denne:

$timestamp = strtotime( "+11 hours", strtotime( gmdate( "Y-m-d H:i:s" ) ) );

echo date( "d/m-Y H:i:s", $timestamp );

:) Du får et svar hvis det kunne bruges, ellers afvis!
Avatar billede coderdk Praktikant
11. februar 2007 - 03:19 #6
I øvrigt. Skal vi ikke lige bytte - Det er -1 grad udenfor lige nu :(
Avatar billede coderdk Praktikant
11. februar 2007 - 03:30 #7
Måske mere optimalt:

    $hours = -10;

    $secs = $hours * 60 * 60;
    $timestamp = time() - date("Z") + $secs;
    echo date( "d/m-Y H:i:s", $timestamp );

Så vidt jeg lige kan se, burde det virke :)
Avatar billede coderdk Praktikant
11. februar 2007 - 03:32 #8
Mit første svar skulle nok være:

$timestamp = strtotime( "-10 hours", strtotime( gmdate( "Y-m-d H:i:s" ) ) );

echo date( "d/m-Y H:i:s", $timestamp );
Avatar billede dmg Nybegynder
11. februar 2007 - 04:29 #9
hhuuhaaa... det er godt nok koldt. Her er det os vinter dog med solskin og varmt vejr :-)

hhhmm... kan man lave et tjek om det er sommer tid eller vinter tid?

Så hvordan kan jeg intgrerer ovenstående kode ind i denne kode?

function convertDateToDatabase($original)
{
  if($original)
  {
    list($date, $time) = explode(" ", $original);
    list($d,$m,$y) = explode("-", $date);
    return "$y-$d-$m $time";
  }   
else
  return "0000-00-00 00:00:00";
}
Avatar billede dmg Nybegynder
11. februar 2007 - 06:06 #10
okay, jeg har lavet en define der ser således ud:
define ('HawaiianTime', gmdate ('m-d-Y', time() - 10 *3600));

Men tak for hjælpen. Coderdk du får 10 points...
Avatar billede coderdk Praktikant
11. februar 2007 - 13:41 #11
Tror mit forslag:

    $hours = -10;

    $secs = $hours * 60 * 60;
    $timestamp = time() - date("Z") + $secs;
    echo date( "d/m-Y H:i:s", $timestamp );

Er bedst, den tager højde for sommer/vintertid (date("Z")) og virker så vidt jeg kan se overalt i verden :)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester