Toon posts:

[php] Locale tijd showen in time-dump

Pagina: 1
Acties:
  • 51 views sinds 30-01-2008

Verwijderd

Topicstarter
Oke, hopelijk kan iemand me helpen.
Heb een gastenboekscript in php waar in een time-dump de servertijd wordt weergegeven in de geschreven berichten.

Probleem: mijn server staat in Hong Kong, dus wordt Hong Kongse tijd weergegeven.
Hoe krijg ik in deze code een paar uur erbij opgeteld.
Thanks!

zoals het er nu staat:

function parse_time($time_dump)
{
global $months_translated;
if (isset($months_translated))
{
$months = array("January","February","March","April","May","June","July","August","September","October","November","December");
$time_dump = str_replace($months,$months_translated,$time_dump);
}
if (substr($time_dump,0,1)=="0") $time_dump = substr($time_dump, 1);
return $time_dump;
}

  • AtleX
  • Registratie: Maart 2003
  • Niet online

AtleX

Tyrannosaurus Lex 🦖

Voorbeeld van het localizen van de datum en tijd :). Dan hoef je ook geen rare dingen meer te doen zoals het replacen van maanden enzo.

Voor het archief, de source:
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
<?
error_reporting(E_ALL);

$standard = strftime('%A %e %B %Y', time());

//Dutch
setlocale(LC_TIME, 'nl_NL');
$dutch = strftime('%A %e %B %Y', time());

//German:
setlocale(LC_TIME, 'de_DE');
$german = strftime('%A %e %B %Y', time());

//French:
setlocale(LC_TIME, 'fr_FR');
$french = strftime('%A %e %B %Y', time());

//Swedish:
setlocale(LC_TIME, 'swedish');
$swedish = strftime('%A %e %B %Y', time());

//Finnish:
setlocale(LC_TIME, 'fi_FI');
$finnish = strftime('%A %e %B %Y', time());
?> 


PHP 5 kent ook nog de functie date_default_timezone_set() waarmee je je timezone in kan stellen. Dan hoef je ook geen tijden meer op te tellen. Als je niet de beschikking hebt over PHP4 kan je gewoon uren bij je timestamp op en af kan trekken. Je moet dan natuurlijk wel timestamps opslaan, en niet geformateerde tijden en datums. De datum kan je dan weer formateren met strftime().

Zowiezo kan je beter timestamps opslaan dan geformateerde tijden en datums, aangezien je met timestamps veel makkelijker kan rekenen.

[ Voor 113% gewijzigd door AtleX op 20-01-2006 10:33 ]

Sole survivor of the Chicxulub asteroid impact.


  • 4Real
  • Registratie: Juni 2001
  • Laatst online: 14-09-2024
http://nl2.php.net/manual...-default-timezone-set.php en dan daarbij ook de Appendix H doorlezen. :)

  • Erkens
  • Registratie: December 2001
  • Niet online

Erkens

Fotograaf

Ik zie in je code alleen maar string bewerkingen. Je doet nergens een bewerking met de tijd, wat je wel moet doen omdat je te maken kan hebben met zaken als daylight savings enzo.

met date('Z') krijg je bijvoorbeeld al de offset naar UTC in seconden, waarmee je dus eenvoudig kan rekenen :)
let wel op dat die functie PHP5 only is ;)
offtopic:
waar is appendix H :?

[ Voor 55% gewijzigd door Erkens op 20-01-2006 10:30 ]


Verwijderd

Topicstarter
Oke, cool. thanks.
Alleen ben ik niet zo heel ervaren in het implementeren van een nieuwe functie in een bestaand script.
Wat dat betreft redelijk n00bish, I know!

Ik weet niet of er iemand zin heeft om even naar het gehele bestand te kijken om me te helpen?
gehele code is te zien op: *knip*

txt is dus eigenlijk een php-bestand, maar dat snappen jullie wel :)
thanks!

[ Voor 9% gewijzigd door NMe op 20-01-2006 13:22 . Reden: Link naar code verwijderd, aangezien er wachtwoorden in stonden. :) ]


Verwijderd

Hoe bedoel je? Gewoon die functie veranderen of een nieuwe functie schrijven?? Wat snap je niet precies?

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 15-04 22:07

NMe

Quia Ego Sic Dico.

Verwijderd schreef op vrijdag 20 januari 2006 @ 10:39:
Ik weet niet of er iemand zin heeft om even naar het gehele bestand te kijken om me te helpen?
gehele code is te zien op: *knip*
Sorry, maar daar beginnen we hier niet aan. :) Om te beginnen geven we geen support op scripts van derden, en verder zou je er met bovenstaande tips zelf ook uit moeten komen. Als dat niet zo is, dan is dat niet erg, dat betekent simpelweg dat je nog niet genoeg ervaring hebt, en dat komt wel. Maar dat wil niet zeggen dat wij jouw werk voor je op gaan knappen. ;) Misschien dat een site als BeginnersWeb dan meer wat voor jou wat betreft dit onderwerp. :)

Desondanks wens ik je succes. :)

[ Voor 5% gewijzigd door NMe op 20-01-2006 13:21 ]

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.

Pagina: 1

Dit topic is gesloten.