[PHP] setlocale werkt niet

Pagina: 1
Acties:
  • 447 views

Onderwerpen


  • ImmortalSoul
  • Registratie: Oktober 2005
  • Laatst online: 12:23
Ik lees uit mysql een datum in het formaat YYYY-MM-DD uit.

Deze zet ik dan om in een ander formaat doormiddel van:

code:
1
2
3
$Datum = strtotime($Datum); 
$Datum = date('l d F', $Datum); 
echo $Datum;


Dan krijg ik het volgende: Wednesday 10 February. Deze wil ik graag in het nederlands hebben, en daarom voeg ik het volgende toe:

code:
1
2
3
4
setlocale(LC_ALL, 'nld_nld');
$Datum = strtotime($Datum); 
$Datum = date('l d F', $Datum); 
echo $Datum;


Maar dan werkt het helaas niet, als ik zoek dan kom ik allemaal op "use setlocale". Maar dat werkt dus niet.

Kan iemand mij helpen?

  • GlowMouse
  • Registratie: November 2002
  • Niet online
gebruik strftime ipv date.

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
Ik ben geen held hierin, maar is het niet setlocale(LC_ALL, 'nl_NL') ?

Edit: Volgens de manual (zie example 1) iig wel. (Waar overigens ook de strftime die boven en onder mij gesuggesteerd worden staat).

[ Voor 63% gewijzigd door RobIII op 11-02-2010 00:11 ]

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


  • Rob
  • Registratie: Februari 2000
  • Niet online

Rob

gebruik ipv date eens strftime

In the beginning the Internet was a bunch of smart users with dumb terminals. Now...


  • GlowMouse
  • Registratie: November 2002
  • Niet online
RobIII schreef op donderdag 11 februari 2010 @ 00:07:
Ik ben geen held hierin, maar is het niet setlocale(LC_ALL, 'nl_NL') ?

Edit: Volgens de manual (zie example 1) iig wel.
Onder windows is het nld_nld (tweede voorbeeld). Het beste is om setlocale met een heel lijstje argumenten aan te roepen en/of de return value te controleren. Ik ben nl_NL.UTF8 ook al tegengekomen.

[ Voor 4% gewijzigd door GlowMouse op 11-02-2010 00:11 ]


  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
GlowMouse schreef op donderdag 11 februari 2010 @ 00:10:
Onder windows is het nld_nld (tweede voorbeeld). Het beste is om setlocale met een heel lijstje argumenten aan te roepen en/of de return value te controleren. Ik ben nl_NL.UTF8 ook al tegengekomen.
8)7 Ik mag het niet zeggen maar... damn. Echt. WTF.

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


  • ImmortalSoul
  • Registratie: Oktober 2005
  • Laatst online: 12:23
Bij het gebruik van:
code:
1
2
3
4
5
setlocale(LC_ALL, 'nl_NL'); 

$Datum = strtotime($Datum); 
$Datum = strftime('l d F', $Datum); 
echo $Datum;


Wordt er direct "l d F" geprint.

  • Woutrrr
  • Registratie: Februari 2007
  • Laatst online: 11:15
Na een korte blik in de php manual blijkt dat strftime andere format characters gebruikt dan date. Je zal dus iets moeten gebruiken in deze richting:

PHP:
1
$Datum = strftime('%A %d %B', $Datum);

  • GlowMouse
  • Registratie: November 2002
  • Niet online
RobIII schreef op donderdag 11 februari 2010 @ 00:11:
[...]

8)7 Ik mag het niet zeggen maar... damn. Echt. WTF.
Moet PHP dan elke keer als een OS besluit een nieuwe locale toe te voegen intern een lijstje aan gaan passen?

  • MueR
  • Registratie: Januari 2004
  • Laatst online: 12:08

MueR

Admin Tweakers Discord

is niet lief

Dus ben je hier gaan kijken waarom dat zo is?

Anyone who gets in between me and my morning coffee should be insecure.


  • ImmortalSoul
  • Registratie: Oktober 2005
  • Laatst online: 12:23
Bingo, het werkt!

Even voor de nettigheid, ik krijg nu "woensdag 10 februari".
In het engels beginnen ze heel netjes met een hoofdletter, zou ik de dageen en maanden in het nederlands ook met een hoofdletter kunnen laten beginnen?

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
ImmortalSoul schreef op donderdag 11 februari 2010 @ 00:31:
Bingo, het werkt!

Even voor de nettigheid, ik krijg nu "woensdag 10 februari".
In het engels beginnen ze heel netjes met een hoofdletter, zou ik de dageen en maanden in het nederlands ook met een hoofdletter kunnen laten beginnen?
Ja.

Even voor de duidelijkheid: We zitten hier niet om handjes vast te houden. Een beetje eigen initiatief en moeite kan geen kwaad. Dit is, behalve dat 't ontzettend basic is, gewoon logisch nadenken en 'programmeren' in actie.

[ Voor 13% gewijzigd door RobIII op 11-02-2010 00:33 ]

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij

Pagina: 1

Dit topic is gesloten.