[php] LCID Chart

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

Anoniem: 107085

Topicstarter
In asp kun je de datum stijl omzetten automatisch naar de lokale stijl.

dag maand jaar
met deze code dus
<%
'Zet server op de lokale stijl
Session.LCID = 2057
%>


Nu leer ik dus php met mysql. Al mijn datums daarin zitten volgens de amerikaanse stijl. Jaar maand dag.

Kan ik dat gelijk asp met zoiets rechtzetten, of moet ik dat overal laten uitlezen en met de speciale datefuncties aanpassen? Voor php vind ik het precies niet en google = enkel asp stuff dat ik vind.

Acties:
  • 0 Henk 'm!

  • 418O2
  • Registratie: November 2001
  • Laatst online: 11:39
http://nl2.php.net/date

Daar ben je niet zelf op gekomen?

[ Voor 44% gewijzigd door 418O2 op 14-08-2006 18:07 ]


Acties:
  • 0 Henk 'm!

  • Flapp
  • Registratie: December 2004
  • Laatst online: 20-05-2024
als je date(); gebruikt kan je date("D", "M", "Y" );
doen , maar ook date("M" ,"D", "Y");

geloof ik, dan krijg je hem in omgekeerde volgorde... Correct me if I'm wrong

"Stilte, een gat in het geluid...."


Acties:
  • 0 Henk 'm!

Anoniem: 107085

Topicstarter
daar ben ik zeker op gekomen, heb ik trouwens gezegd in men laatste regels of ik dat allemaal moet omvormen.

maar alles lees ik nu zo uit men database: $row['datum']
en dat komt er zo uit jaar maand dag, ik kan toch moeilijk in men database alles handmatig omgekeerd gaan zetten?

Acties:
  • 0 Henk 'm!

  • SH4D3H
  • Registratie: Juni 2004
  • Laatst online: 27-02 23:46
Je kunt in de query gebruik maken van mysqldatumfuncties :)
Dan komt het er precies zo uitrollen als jij wilt, mits je natuurlijk een date/datetime veld hebt gebruikt.

Acties:
  • 0 Henk 'm!

  • Nielsvr
  • Registratie: Maart 2004
  • Laatst online: 27-05 13:55
Daarom moet je in je databases ook met timestamps werken (http://www.php.net/mktime). Voor het omzetten kan je ook nog gebruiken maken van strtotime (http://nl2.php.net/strtotime).

Acties:
  • 0 Henk 'm!

  • 418O2
  • Registratie: November 2001
  • Laatst online: 11:39
Anoniem: 107085 schreef op maandag 14 augustus 2006 @ 18:10:
[...]


daar ben ik zeker op gekomen, heb ik trouwens gezegd in men laatste regels of ik dat allemaal moet omvormen.

maar alles lees ik nu zo uit men database: $row['datum']
en dat komt er zo uit jaar maand dag, ik kan toch moeilijk in men database alles handmatig omgekeerd gaan zetten?
Sja, de meeste PHP programmeurs zetten geen hardcoded datum(s) in hun db, maar het aantal sec. sinds 1 jan 1970 (zie ook time() ).

Dan moet je je string uitelkaar trekken of een functie schrijven die het omzet.

Acties:
  • 0 Henk 'm!

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 11-06 00:38

NMe

Quia Ego Sic Dico.

Waarom noemt hier niemand setlocale() in combinatie met strftime? :)

'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.


Acties:
  • 0 Henk 'm!

Anoniem: 14829

Anoniem: 107085 schreef op maandag 14 augustus 2006 @ 18:04:
Nu leer ik dus php met mysql. Al mijn datums daarin zitten volgens de amerikaanse stijl. Jaar maand dag.
Even terzijde, "jaar maand dag" is geen amerikaanse stijl (daar gebruiken ze "maand dag jaar", de meest onlogische volgorde), maar japanse notatie, of XML-notatie. En iedere andere notatie waarbij je goed moet kunnen sorteren op een tekstweergave van een datum.

Acties:
  • 0 Henk 'm!

Anoniem: 107085

Topicstarter
waarom krijg ik bij deze code deze datum terug 1 - 1 - 1970
terwijl 9 - 9 - 2006 zou moeten weergegeven worden.

$year = date("Y", $row['datum']);
$month = date("m", $row['datum']);
$day = date("d", $row['datum']);

Acties:
  • 0 Henk 'm!

  • XiN-eViL
  • Registratie: Maart 2004
  • Laatst online: 06-06 14:21

XiN-eViL

kzie-nie-veel

Anoniem: 107085 schreef op zaterdag 19 augustus 2006 @ 18:27:
waarom krijg ik bij deze code deze datum terug 1 - 1 - 1970
terwijl 9 - 9 - 2006 zou moeten weergegeven worden.

$year = date("Y", $row['datum']);
$month = date("m", $row['datum']);
$day = date("d", $row['datum']);
Is $now['datum'] een php-timestap?
Want als het een mysqldate is, gaat het niet werken :) .

Acties:
  • 0 Henk 'm!

Anoniem: 107085

Topicstarter
mja, het is een mysql datum. De datum zit letterlijk in een record. Nu wil ik die 3 delen uitlezen om in 3 inputvelden te plaatsen zodat de persoon die het moet invullen dit altijd op een correcte manier doet.
In asp is dat blijkbaar heel simpel, maar in php lijkt me dit weer een raadsel.

Acties:
  • 0 Henk 'm!

  • XiN-eViL
  • Registratie: Maart 2004
  • Laatst online: 06-06 14:21

XiN-eViL

kzie-nie-veel

Anoniem: 107085 schreef op zaterdag 19 augustus 2006 @ 18:42:
mja, het is een mysql datum. De datum zit letterlijk in een record. Nu wil ik die 3 delen uitlezen om in 3 inputvelden te plaatsen zodat de persoon die het moet invullen dit altijd op een correcte manier doet.
In asp is dat blijkbaar heel simpel, maar in php lijkt me dit weer een raadsel.
Wat je kunt proberen is
$year = date("Y", strtotime($row['datum']));
$month = date("m", strtotime($row['datum']));
$day = date("d", strtotime($row['datum']));
Dus eerst strtotime eroverheen gooien :)

Acties:
  • 0 Henk 'm!

Anoniem: 107085

Topicstarter
ok, dit werkt, lijkt me allemaal wel omslachtig. Kmerk dat je veel meer kan bij php dan asp, maar het is veelal iets moeilijker uitgewerkt. Dat vind ik wel spijtig.

Acties:
  • 0 Henk 'm!

  • Technicality
  • Registratie: Juni 2004
  • Laatst online: 00:11

Technicality

Vliegt rechtsom...

$datum = strtotime($row["jeTimestampInMysql"])
strftime("%A %d %B %Y om %H:%M", $datum)

Acties:
  • 0 Henk 'm!

  • orf
  • Registratie: Augustus 2005
  • Laatst online: 11:16

orf

SH4D3H schreef op maandag 14 augustus 2006 @ 18:14:
Je kunt in de query gebruik maken van mysqldatumfuncties :)
Dan komt het er precies zo uitrollen als jij wilt, mits je natuurlijk een date/datetime veld hebt gebruikt.
Enige juiste antwoord!

Acties:
  • 0 Henk 'm!

  • AtleX
  • Registratie: Maart 2003
  • Niet online

AtleX

Tyrannosaurus Lex 🦖


Acties:
  • 0 Henk 'm!

  • MSalters
  • Registratie: Juni 2001
  • Laatst online: 11:36
Anoniem: 14829 schreef op maandag 14 augustus 2006 @ 19:32:
Even terzijde, "jaar maand dag" is geen amerikaanse stijl (daar gebruiken ze "maand dag jaar", de meest onlogische volgorde), maar japanse notatie, of XML-notatie.
Om precies te zijn, het is de ISO standaard volgorde voor data. XML volgt gewoon de relevante (en enige internationale) standaard.

Man hopes. Genius creates. Ralph Waldo Emerson
Never worry about theory as long as the machinery does what it's supposed to do. R. A. Heinlein


Acties:
  • 0 Henk 'm!

  • Skaah
  • Registratie: Juni 2001
  • Laatst online: 06-06 09:54
-NMe- schreef op maandag 14 augustus 2006 @ 18:18:
Waarom noemt hier niemand setlocale() in combinatie met strftime? :)
Inderdaad

PHP:
1
2
3
4
// linux, windows
setlocale(LC_ALL,'nld','nl_NL');

echo strftime('%A %d %B %Y',time()); // maandag 21 augustus 2006

Acties:
  • 0 Henk 'm!

  • Solopher
  • Registratie: December 2002
  • Laatst online: 10-06 21:54
Zoals ik hem altijd deed:

PHP:
1
2
3
4
5
6
7
8
9
10
11
<?php
// Taal = Nederlands
if (substr(PHP_OS,0,3)=='WIN') {
    setlocale(LC_ALL, 'nld');
}
else {
    setlocale(LC_ALL, 'nl_NL');
}
// Datum + tijd weergeven
echo 'Het is nu: '.strftime("%A %e %B %Y - %R", time());
?>


Meer over deze functie vind je trouwens hier.
Pagina: 1