15. juli 2004 - 13:57
Der er
20 kommentarer og 1 løsning
danske datoer med mktime og date
Hej, Jeg har denne: echo "<option value=\"\"></option>"; $today = mktime(0, 0, 0, date("m") , date("d"), date("Y")); for ($i = 1; $i <= 90; $i++) { $day = mktime(0, 0, 0, date("m") , date("d")+$i, date("Y")); echo "<option value=\"".$day ."\">".date("l, j. F Y", $day)."</option>"; } Hvordan får jeg den til at skrive f.eks. "Lørdag, 14.Juli 2004" VH Anders
Annonceindlæg fra Jysk IT
Sikkerhed skal være en del af driften
Skal virksomheder stå stærkere mod angreb og kunne udvikle sig, skal sikkerhed, drift og forretning tænkes sammen. Det er tanken bag Jysk IT’s ambition om at skabe en “sikker fremtid” for kunderne.
anders -> du skal lave en array for dage og månder og så du sige at hvis det den dag så udskriver det isted for EN. så på DK
På linux: setlocale( LC_TIME, "da_DK" ); echo strftime("%A, %e. %B %Y", mktime(0, 0, 0, 7, 14, 2004)); :)
Sådan f.eks. <select> <? $arrDays = array( "Søndag", "Mandag", "Tirsdag", "Onsdag", "Torsdag", "Fredag", "Lørdag" ); $arrMonths = array( "", "Januar", "Februar", "Marts", "April", "Maj", "Juni", "Juli", "August", "September", "Oktober", "November", "December" ); echo "<option value=\"\"></option>"; $today = mktime(0, 0, 0, date("m") , date("d"), date("Y")); for ($i = 1; $i <= 90; $i++) { $day = mktime(0, 0, 0, date("m") , date("d")+$i, date("Y")); echo "<option value=\"".$day ."\">".$arrDays[date("w",$day)].", ".date("j. ",$day).$arrMonths[date("n",$day)]." ".date("Y", $day)."</option>"; } ?> </select>
Ingen grund til jo, da php kan de danske navne fra starten ;)
coderdk - kan du prøve at omskrive min kode - jeg kunne umiddelbart kun få taskmgr's til at virke?
Jeg kan godt lide at lave kode som kan bruges på alle systemer :) setlocale() skal tilpasses alt efter hvilket system der bruges. Men ja, det er nemmere som du skriver :)
echo "<option value=\"module_bookingBooking.php?id=".$_GET[id]."&selectedTreatmentID=".$_GET[selectedTreatmentID]."\"></option>"; for ($i = 1; $i <= 90; $i++) { $day = mktime(0, 0, 0, date("m") , date("d")+$i, date("Y")); if ($_GET[selectedDateNumer] == $i){ echo "<option value=\"module_bookingBooking.php?id=".$_GET[id]."&selectedTreatmentID=".$_GET[selectedTreatmentID]."&selectedDateNumer=".$i."\" selected>".$arrDays[date("w",$day)].", ".date("j. ",$day).$arrMonths[date("n",$day)]." ".date("Y", $day)."</option>"; } else { echo "<option value=\"module_bookingBooking.php?id=".$_GET[id]."&selectedTreatmentID=".$_GET[selectedTreatmentID]."&selectedDateNumer=".$i."\">".$arrDays[date("w",$day)].", ".date("j. ",$day).$arrMonths[date("n",$day)]." ".date("Y", $day)."</option>"; } }
øøøh? setlocale( LC_TIME, "da_DK" ); echo "<option value=\"\"></option>"; $today = mktime(0, 0, 0, date("m") , date("d"), date("Y")); for ($i = 1; $i <= 90; $i++) { $day = mktime(0, 0, 0, date("m") , date("d")+$i, date("Y")); echo "<option value=\"".$day ."\">". echo strftime("%A, %e. %B %Y", , $day)."</option>"; } vel...
gah echo "<option value=\"".$day ."\">". strftime("%A, %e. %B %Y", $day)."</option>";
15. juli 2004 - 14:46
#10
hmm, den viser stadig engelske...
15. juli 2004 - 14:47
#11
setlocale(LC_TIME, "da_DK"); for ($i = 1; $i <= 90; $i++) { $day = mktime(0, 0, 0, date("m"), date("d")+$i, date("Y")); if ($_GET[selectedDateNumer] == $i){ echo "<option value=\"module_bookingBooking.php?id=".$_GET[id]."&selectedTreatmentID=".$_GET[selectedTreatmentID]."&selectedDateNumer=".$i."\" selected>".strftime("%A, %e. %B %Y", $day)."</option>"; } else { echo "<option value=\"module_bookingBooking.php?id=".$_GET[id]."&selectedTreatmentID=".$_GET[selectedTreatmentID]."&selectedDateNumer=".$i."\">".strftime("%A, %e. %B %Y", $day)."</option>"; } }
15. juli 2004 - 14:47
#12
prøv: setlocale( LC_TIME, "dan" ); eller setlocale( LC_TIME, "da" ); Linux eller windows?
15. juli 2004 - 14:47
#13
Evt. erstat LC_TIME med LC_ALL
15. juli 2004 - 14:47
#14
Windows
15. juli 2004 - 14:48
#15
Ok, prøv det jeg skrev :) Evt. med LC_ALL
15. juli 2004 - 14:49
#16
setlocale(LC_TIME, "dan"); Denne virker, men ugedagene har lille begyndelsesbogstav, hvordan fikses det?
15. juli 2004 - 14:50
#17
ucfirst()
15. juli 2004 - 14:53
#18
BINGO!
15. juli 2004 - 14:55
#19
strftime("%A, %d. %B %Y"... Denne virker men kører 01, 02 osv. strftime("%A, %e. %B %Y"... Denne skulle vel virke, men der kommer ikke nogen dato...
15. juli 2004 - 15:21
#20
Vist en windows bug... prøv: strftime( "%A, ", $day ) . ( strftime( "%d", $day ) + 0 ) . strftime( ". %B %Y", $day );
15. juli 2004 - 23:25
#21
Jep, det virkede...
Vi tilbyder markedets bedste kurser inden for webudvikling