Tomorrow Comes Today I’m not gonna wait for anything to happen
PHP: Für Menschen lesbare Zeiträume
Datumsanzeigen sind nicht einfach. Und Zeiträume auch nicht. Zumindest wenn man den Nutzern eine möglichst natürliche Schreibweise anbieten möchte, also nicht im "technischen" Format TT.MM.YYYY.
Schöner wären da doch Datums-Zeiträume wie z.B.:
- Donnerstag, 26. April 2012
- Mittwoch, 11. bis Donnerstag, 26. April 2012
- Donnerstag, 26. April bis Mittwoch, 9. Mai 2012
- Samstag, 29. Dezember 2012 bis Mittwoch, 2. Januar 2013
Hier eine Beispielfunktion in PHP, welche eine solche Ausgabe erzeugen kann:
function getFullwrittenDaterange($startdate, $enddate){
if($startdate && $enddate){
$c .= 'startdate && enddate';
if($startdate == $enddate){
$c = strftime ("%A, %e. %B %Y", $startdate);
}else{
if(date("Y",$startdate) == date("Y",$enddate)){
if(date("m",$startdate) == date("m",$enddate)){
$c = strftime ("%A, %e.", $startdate).' bis '.strftime ("%A, %e. %B %Y", $enddate);
}else{
$c = strftime ("%A, %e. %B", $startdate).' bis '.strftime ("%A, %e. %B %Y", $enddate);
}
}else{
$c = strftime ("%A, %e. %B %Y", $startdate).' bis '.strftime ("%A, %e. %B %Y", $enddate);
}
}
}elseif($startdate && !$enddate){
$c = strftime ("%A, %e. %B %Y", $startdate);
}else{
$c = null;
}
return $c;
}
Zu beachten sind natürlich noch Locale Angaben (welche ggf. bereits vom CMS gesetzt wurden) und die Lokalisierung des Ausgabeformates.
- j2h's blog
- Login or register to post comments
