functie probleem

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Tineau

tineau

21/06/2004 16:59:00
Quote Anchor link
deze datum komt uit de database:

06:21:2004

vervolgens zet ik hem om met deze functie
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
<?
function convert_date($datum)
{

$days = explode (":" , $datum);
$month = $days[0];
$days = $days[1];
$year = $days[2];
$monthnumber = array("01","02","03","04","05","06","07","08","09","10","11","12");     
$monthname = array("Januari","Februari","Maart","April","Mei","Juni","Juli","Augustus","September","Oktober","November","December");
$month = str_replace($monthnumber, $monthname, $month);
$new_date = $days . ' ' . $month . ' ' . $year;
echo "$new_date";
}

?>

maar nu krijg ik in mijn html de volgende weergave

21 Juni

dus zonder het jaartal, iemand enig idee wat er mis gaat?

bedankt alvast.
Gewijzigd op 21/06/2004 16:59:00 door Tineau
 
PHP hulp

PHP hulp

26/11/2024 17:42:37
 
Bram Z

Bram Z

21/06/2004 17:07:00
Quote Anchor link
je script klopt mss heb je de datum verkeerd ingevoegd ?
 
Tineau

tineau

21/06/2004 17:08:00
Quote Anchor link
Als ik in de database kijk via phpmyadmin staat dit er
06:21:2004

dus daar mankeert het niet aan denk ik
 
Eris -

Eris -

21/06/2004 17:22:00
Quote Anchor link
Dit kan veel makkelijker

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<?php
setlocale(LC_TIME, "NL_nl");
$datum = strftime ("%e %B %Y" ,strtotime($datum));
echo $datum;
?>

En als je het slim bent haal je de datum in de vorm

YYYY-MM-DD HH:MM:SS uit de database (Dit is volgens de iso standaard en daarmee kan je heel makkelijk mee rekenen.
 
Tineau

tineau

21/06/2004 17:32:00
Quote Anchor link
yep dat werkt inderdaad, alleen is nu de maand in het engels, hoe krijg ik die nu weer terug in het nederlands?
 
Eris -

Eris -

21/06/2004 18:13:00
Quote Anchor link
/me zoekt in zijn PHP script database

Ha toch fout
setlocale(LC_TIME, "nl_NL");

en dit MOET Werken
 
Tineau

tineau

21/06/2004 19:19:00
Quote Anchor link
yep! perfect! bedankt.
weet je misschien ook hoe je ook hier nederlandse notaties kunt krijgen?

Code (php)
PHP script in nieuw venster Selecteer het PHP script
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
26
27
28
29
<?
function
DateDropDown($size,$default) {
   // $size = the number of days to display in the drop down
   // $default = Todays date in m:d:Y format (SEE DATE COMMAND ON WWW.PHP.NET)
   // $skip = if set then the program will skip Sundays and Saturdays

   $skip=0;
   echo "<select name=$default>\n";
   for ($i = 0; $i <= $size; $i++) {
  
      $theday = mktime (0,0,0,date("m") ,date("d")-$i ,date("Y"));
      $option=date("D M j, Y",$theday);
      $value=date("m:d:Y",$theday);
      $dow=date("D",$theday);
      if ($dow=="Sun") {
         echo "<option disabled>&nbsp;</option>\n";
      }

      if ($value == $default) {
         $selected="SELECTED";
      }
else {
         $selected="";
      }

      if (($dow!="Sun" and $dow!="Sat") or !$skip) {
         echo "<option value=\"$value\" $selected>$option</option>\n";
      }
   }

   echo "</select>\n";
}

?>
 
Elwin - Fratsloos

Elwin - Fratsloos

21/06/2004 21:02:00
Quote Anchor link
Wat trouwens de fout was in je orininele script is het volgende:

Eerst zet je de datum in een array met de naam $days:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
$days
= explode (":" , $datum);
?>


Vervolgens ga je nieuwe variabelen aanmaken voor de waarden in je array:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<?php
$month
= $days[0];
$days = $days[1];
$year = $days[2];
?>


Maar als je de variabele voor de dagen aanmaakt hou je er geen rekening mee dat je de variabele gebruikt die je ook al gebruikte voor je array. En zo heb je je array niet meer en kan de parser nooit $year vullen. Zoiets had beter geweest:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
<?php
$explode
= explode (":" , $datum);
$month = $explode[0];
$days = $explode[1];
$year = $explode[2];
?>


Elwin
 
B a s
Beheerder

B a s

21/06/2004 23:24:00
Quote Anchor link
idd.. daarom zie je het jaar dus ook niet :)
 

22/06/2004 11:01:00
Quote Anchor link
Ik wil nu dus hetzelfde proberen als hierboven maar dan MET de secondes er bij. en daar gaat het fout... ik heb nu dit script:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<?php
setlocale(LC_TIME, "nl_NL");
$datum = strftime ("%d %m %Y %H:%i:%s" ,strtotime($var->datum));
echo "$datum";
?>


//output: 22 06 2004 10:%i:1087893340

spaties tussen de : zetten werkt niet. De : vervangen door een spatie werkt ook niet Ik blijf dezelfde foute output houden
 

22/06/2004 11:14:00
Quote Anchor link
Srry laat maar zitten ik heb het al gevonden :)
 
Eris -

Eris -

22/06/2004 14:45:00
Quote Anchor link
Ik ben van mening dat dit de ideale manier is om datum makkelijke en cordaat om te zetten naar een andere datum formaat.
met date("d-m-y H:i:s",strtotime($datum));
werkt het ook
 



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.