Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: proste, ale dla mnie nie:(
Forum PHP.pl > Forum > Gotowe rozwiązania
kpjeziorak
Witam, mam skrypt, ktory wyswietla date i wszystko jest ok, ale strone mam na serwerze w USA, a tam jest inna strefa czasowa, wiec prawidlowa data wyswietla sie z 6-godzinnym opoznieniem. Ponizej wstawilem kod skryptu, czy moze mi ktos tak zmodyfikowac skrypt by wyswietlal poprawna date? Info: wiem tylko tyle, ze trzeba przesunac czas o +6 godzin biggrin.gif

Oto kod:[php:1:2c2c7326f3]<?php
//dzień tygodnia
$dz_tyg=array("Sun"=>"niedziela","Mon"=>"poniedziałek","Tue"=>"wtorek","Wed"=>"środa","Thu"=>"czwartek","Fri"=>"piątek","Sat"=> "sobota");
if ($dz=gmDate("D"))
{
$dz_tyg="$dz_tyg[$dz]";
}
//dzień
$dzien=date("d");
//miesiąc
$miesiac=array(1=>"stycznia","lutego","marca","kwietnia","maja","czerwca","lipca","sierpnia","września","października","listopada","grudnia");
if ($m=gmDate("n"))
{
$miesiac="$miesiac[$m]";
}
//rok
$rok=gmDate("Y");
//dzień roku
$dz_roku=gmDate("z");
$dz_roku=$dz_roku+1;
//wyswietlenie całości
echo ("Dzisiaj jest $dz_tyg, $dzien $miesiac $rok r. $dz_roku dzień roku");


?>[/php:1:2c2c7326f3]
danek
Witaj !
Wystarczy dopisać pod
[php:1:35b4d34cb9]
//rok
$rok=gmDate("Y");

[/php:1:35b4d34cb9]
linijkę
[php:1:35b4d34cb9]$rok=$rok+6;[/php:1:35b4d34cb9]
biggrin.gif .
Mam nadzieję że zadziała.
Powodzenia!
tiraeth
Taak... tyle, że Amerykanie mają inny czas różny o 6 godzin, a nie lat laugh.gif

Poszukaj na http://php.net o gmdate()
danek
sorry mój błąd
kpjeziorak
hmmm... biggrin.gif poczytalem o gmdate i... nic nie rozumiem :cry: Moze mi ktos pokazac jak to zrobic?? Prosze biggrin.gif
tiraeth
Prosze... to jest przykład smile.gif

[php:1:940153ca5a]<?php
$dodaj = 3600*6; // dodajemy 6 godzin
$data_pl=gmdate("D M Y H:i", time() + $dodaj);
$data_us=date("D M Y H:i");
echo "Data serwera: ".$data_us."<br>Data w Polsce: ".$data_pl;
?>[/php:1:940153ca5a]
kpjeziorak
Bardzo dziekuje, tylko ja bym chcial zostac przy moim pierwotnym skrypcie, czy jest mozliwosc przerobienia go, tak by wyswietlal date poprawnie :?:
tiraeth
Przy twoim kodzie jest to wręcz prawie nie możliwe, ponieważ dzień, miesiąc i rok masz osobno zapisane, a ja nie umiem tego tak przerobić... Możesz też spróbować funkcji [manual:6cbae70153]str_replace()[/manual:6cbae70153]
kpjeziorak
A czy wogole jest mozliwosc zbudowania skryptu, ktory wyswietlac bedzie cos takiego "Dzisiaj jest poniedziałek, 02 lutego 2004 r. 33 dzień roku " i bedzie wspolgral z polska strefa czasowa? Jezeli tak, to bede wdzieczny osobie, ktora napisze mi cos takiego biggrin.gif
tiraeth
A oczywiście biggrin.gif

[php:1:1dff6bbfbd]<?php
// dodajemy 6 godzin
$strefa = 3600*6;

// tworzymy date w formacie D, d m Y, z
$data = gmdate("D, d F Y, z", time() + $strefa);

// zamieniamy dni w Ang na Pol
$data = str_replace("Sun", "niedziela", $data);
$data = str_replace("Mon", "poniedziałek", $data);
$data = str_replace("Tue", "wtorek", $data);
$data = str_replace("Wed", "środa", $data);
$data = str_replace("Thu", "czwartek", $data);
$data = str_replace("Fri", "piątek", $data);
$data = str_replace("Sat", "sobota", $data);

// zamieniamy miesiace z liczby na Polskie nazwy
$data = str_replace("January", "stycznia", $data);
$data = str_replace("February", "lutego", $data);
$data = str_replace("March", "marca", $data);
$data = str_replace("April", "kwietnia", $data);
$data = str_replace("May", "maja", $data);
$data = str_replace("June", "czerwca", $data);
$data = str_replace("July", "lipca", $data);
$data = str_replace("August", "sierpnia", $data);
$data = str_replace("September", "wrzesnia", $data);
$data = str_replace("October", "października", $data);
$data = str_replace("November", "listopada", $data);
$data = str_replace("December", "grudnia", $data);

// wyswietlamy datę
echo "Dzisiaj jest " . $data . " dzień roku!";
?>[/php:1:1dff6bbfbd]

(pod mym postem masz taki przycisk Pomógł 8) )
kpjeziorak
No super! Dziala ekstra! Dzieki!

A o tym "pomógł mi" wiedzialem tylko czekalem na odpowiedni moment, ktory teraz nadszedl, jeszcze raz dzieki za pomoc... :!:
kpjeziorak
Mam pytanie do admina, co sie z forum dzieje, w dzien strasznie trudno sie na nie dostac, a gdy nad ranem sie juz dostane, wywala mnie albo nie dziala "pomógł mi", dlaczego?
kpjeziorak
No wreszcie wszystko jest ok:)
fritz
W języku polskim nie pisze się "stycznia" ale np: 5 styczeń. Chyba, że chcemy określić któryś styczeń z kolei.
regis87
Jest dokladnie na odwrot, fritz:) "Dzis jest pierwszy styczen" - to jest lasnie forma niepoprawna, chyba ze mamy na mysli pierwsze wystapienie miesiaca stycznia:)
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.