een dagnaam voor een datum zetten...
Oeste - 16/01/2005 22:38
HTML interesse
Hallo,
Ik ga mijn probleem weer uitleggen aan de hand van een vb;
$datum = "16 1 2005";
Nu zou ik graag de dagnaam weergeven van deze datum...
dit zou dus automatisch "Zondag 16 1 2005" moeten worden...
Bedankt!
3 antwoorden
Gesponsorde links
Addow - 17/01/2005 08:45 (laatste wijziging 17/01/2005 08:55)
PHP beginner
<?php
function weekdag($dag,$maand,$jaar) {
$str_datum = mktime(0,0,0,$maand,$dag,$jaar);
$weekdagnr = date("w",$str_datum);
// aanpassing code naar array, idd veel sneller!
$dagen = array("Zondag","Maandag","Dinsdag","Woensdag",
"Donderdag","Vrijdag","Zaterdag");
$weekdag = $dagen[$weekdagnr];
return $weekdag.", ".$dag."-".$maand."-".$jaar;
}
// afdrukken op scherm met behulp van onderstaande regel
echo weekdag(16,1,2005);
?>
<?php
function weekdag( $dag , $maand , $jaar ) {
$str_datum = mktime ( 0 , 0 , 0 , $maand , $dag , $jaar ) ; $weekdagnr = date ( "w" , $str_datum ) ;
// aanpassing code naar array, idd veel sneller!
$dagen = array ( "Zondag" , "Maandag" , "Dinsdag" , "Woensdag" , "Donderdag" , "Vrijdag" , "Zaterdag" ) ;
$weekdag = $dagen [ $weekdagnr ] ;
return $weekdag . ", " . $dag . "-" . $maand . "-" . $jaar ;
}
// afdrukken op scherm met behulp van onderstaande regel
?>
// ik heb het onmiddellijk in een functie geschreven zodat ge ze makkelijker kunt includen.
[B]Edit[/B]
Bewerkt naar array, sneller dan switch functie! Klopt Quicky!
Kleine opmerking: het scriptje valt tamelijk lang uit aangezien je uitdrukkelijk vroeg "Zondag 16 1 2005", maar het kan een pak korter bij "Sunday 16 1 2005".
Dan zou het dit worden:
<?php
function weekday($dag,$maand,$jaar) {
$str_datum = mktime(0,0,0,$maand,$dag,$jaar);
$weekdag = date("l",$str_datum);
return $weekdag.", ".$dag."-".$maand."-".$jaar;
}
echo weekday(16,1,2005);
?>
<?php
function weekday( $dag , $maand , $jaar ) {
$str_datum = mktime ( 0 , 0 , 0 , $maand , $dag , $jaar ) ; $weekdag = date ( "l" , $str_datum ) ;
return $weekdag . ", " . $dag . "-" . $maand . "-" . $jaar ;
}
?>
Bart - 17/01/2005 08:46
PHP expert
Waarom zo'n allemachtig lang stuk text, et kan ook zo:
<?
$tijd = date("H:i:s");
$dag_vd_week = date("w");
$maand_vh_jaar = date("n")-1;
$dedag = date("j");
$jaar = date("Y");
$uur = explode(":", $tijd);
$dagen = array('zondag', 'maandag', 'dinsdag', 'woensdag', 'donderdag', 'vrijdag', 'zaterdag');
$maanden = array('januarie', 'februarie', 'maart', 'april', 'mei', 'juni', 'juli', 'augustus', 'september', 'oktober', 'november', 'december');
$dag = $dagen[$dag_vd_week];
$maand = $maanden[$maand_vh_jaar];
echo "Het is vandaag ".$dag." ".$dedag." ".$maand." in het jaar ".$jaar.".";
echo "Op dit moment is het ".$uur[0]." uur ".$uur[1]." minuten en ".$uur[2]." second(en).";
?>
<?
$dag_vd_week = date ( "w" ) ; $maand_vh_jaar = date ( "n" ) - 1 ;
$dagen = array ( 'zondag' , 'maandag' , 'dinsdag' , 'woensdag' , 'donderdag' , 'vrijdag' , 'zaterdag' ) ; $maanden = array ( 'januarie' , 'februarie' , 'maart' , 'april' , 'mei' , 'juni' , 'juli' , 'augustus' , 'september' , 'oktober' , 'november' , 'december' ) ; $dag = $dagen [ $dag_vd_week ] ;
$maand = $maanden [ $maand_vh_jaar ] ;
echo "Het is vandaag " . $dag . " " . $dedag . " " . $maand . " in het jaar " . $jaar . "." ; echo "Op dit moment is het " . $uur [ 0 ] . " uur " . $uur [ 1 ] . " minuten en " . $uur [ 2 ] . " second(en)." ; ?>
Dit werkt beter, sneller, en makkelijker.
Thomas - 17/01/2005 11:31
Moderator
Voor zoiets zou ik toch echt een functie maken, zoals Addow doet, en dit niet gewoon coden en echo'en... dat is een beetje een adhoc oplossing, en die kun je niet opnieuw gebruiken tenzij je van alles aan gaat passen...
Gesponsorde links
Dit onderwerp is gesloten .