Probleem met strftime

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

KrissCross

KrissCross

07/02/2006 22:59:00
Quote Anchor link
Na een heleboel fora over dit onderwerp te hebben nagespit ben ik heel ver gekomen.
Door middel van

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
<?php
setlocale(LC_ALL,'nld_nld');
$begindatum=strftime("%e %B %Y",mktime(0,0,0,$begindatum[1],$begindatum[2],$begindatum[0]));
?>


wil ik een datum uit een database (het veld begindatum die ik via explode opdeel) weergeven als "1 januari 2006".
Het enige probleem is dat %e niet wordt weergegeven (en dat zou wel moeten, kijk op http://nl3.php.net/strftime) Vervang ik dit door %d dan wordt de datum als volgt weergegeven: 01 januari 2006. Iets dat ik nu net niet wil (ik wil zonder die 0!).
Hoe kan dit en hoe los ik dit op?

PS: Zoals je ziet (aan de setlocale) draait m'n server onder Windows, misschien heeft t daar iets mee van doen...
 
PHP hulp

PHP hulp

29/03/2024 05:47:55
 
Willem vp

Willem vp

07/02/2006 23:40:00
Quote Anchor link
In de pagina die je hebt aangewezen staat ook dat %e niet wordt ondersteund door Windows:
Quote:
Note: Not all conversion specifiers may be supported by your C library, in which case they will not be supported by PHP's strftime() [...] This means that e.g. %e, %T, %R and %D (there might be more) and dates prior to Jan 1, 1970 will not work on Windows
Maar er is wel een simpele workaround:

Genereer je $begindatum met een 0 aan het begin en doe vervolgens:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?
$begindatum
= preg_replace('/^0/', '', $begindatum);
?>


En weg is de 0 ;-)
Gewijzigd op 07/02/2006 23:42:00 door Willem vp
 
KrissCross

KrissCross

07/02/2006 23:56:00
Quote Anchor link
@Willem
Tja, niet goed (of ver genoeg) gelezen... Ik vermoedde dat het al met Windows te maken had. Maar ehm, complimenten voor je oplossing, daar had ik nog niet aan gedacht! Super!
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.