08. august 2004 - 12:50
Der er
16 kommentarer og 2 løsninger
Oversæt måned til dansk
Hej Jeg har en kalender, hvor jeg gerne vil have månederne returneret på dansk. Er der nogen som kan hjælpe mig med hvordan jeg skal gøre? Jeg har ledt og ledt og kan ikke finde noget jeg kan brúge. Jeg forestiller mig at jeg kan skrive noget i den stil: if ($month)="January" return "Januar" Men hvordan præcis skal jeg skrive det?
Annonceindlæg tema
Cloud & AI
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
08. august 2004 - 12:59
#1
du kan lave et array med alle de danske navne: $dkmdr = array("Januar", "Februar", "Marts", "April", "Maj", "Juni", "Juli", "August", "September", "Oktober", "November", "December"); og måneden: $md = date("m"); //måned med 2 cifre f.eks 01 - 12 og udskriv echo $dkmdr[$md]; det skulle virke ;o)
08. august 2004 - 13:02
#2
$months = array(1 => 'Januar ', 'Februar ', 'Marts ', 'April', 'Maj', 'Juni', 'Juli', 'August', 'September', 'Oktober', 'November', 'December'); echo $months[date("n")];
08. august 2004 - 13:06
#3
avminarm, du skal bruge n så der ikke er leading zero, og sætte først index til 1, eller trække en fra ved udskrift før det virker
08. august 2004 - 13:19
#4
Nu er jeg desværre ikke nogen ørn til det her og kan ikke finde ud af hvor jeg skal sætte det ind. Jeg kan godt se, at hvis jeg sætter $months = array(1 => 'Januar ', 'Februar ', 'Marts ', 'April', 'Maj', 'Juni', 'Juli', 'August', 'September', 'Oktober', 'November', 'December'); echo $months[date("n")]; ind så skriver den denne måneden på dansk, men den skal jo gerne skifte når jeg vælger en anden måned og skal også stå på de rigtige steder. Min side ser sådan ud: <? require "layout.inc.php"; require ".dbaccess.inc"; if (!isset($month) || $month == "" || $month > 12 || $month < 1) { $month = date("m"); } if (!isset($year) || $year == "" || $year < 2004 || $year > 2068) { $year = date("Y"); } $timestamp = mktime(0, 0, 0, $month, 1, $year); $current = date("F Y", $timestamp); if ($month < 2) { $prevmonth = 12; $prevyear = $year - 1; } else { $prevmonth = $month - 1; $prevyear = $year; } if ($month > 11) { $nextmonth = 1; $nextyear = $year + 1; } else { $nextmonth = $month + 1; $nextyear = $year; } $backward = date("F Y", mktime(0, 0, 0, $prevmonth, 1, $prevyear)); $forward = date("F Y", mktime(0, 0, 0, $nextmonth, 1, $nextyear)); $first = date("w", mktime(0, 0, 0, $month, 1, $year)); $lastday = 28; for ($i=$lastday;$i<32;$i++) { if (checkdate($month, $i, $year)) { $lastday = $i; } } function AddDay($fday, $fmonth, $fyear, $fvar) { if (!isset($fday) || $fday == "") { echo ' <TD class="calendar" align="left" valign="top" width=90 height=70> '; } else { $schurl = 'schedule.php?day='.$fday.'&month='.$fmonth.'&year='.$fyear; if (date("m") == $fmonth && date("Y") == $fyear && date("j") == $fday) { echo ' <TD ID="day'.$fday.'" class="curday" style="cursor: hand" align="left" valign="top" width=90 height=70 onMouseOver="tdmouseover(\'day'.$fday.'\')"; onMouseOut="tdcurmouseout(\'day'.$fday.'\')"; onClick="window.open(\''.$schurl.'\', \'schedule\', \'width=534,height=518,scrollbars=yes,resizable=yes\')"> '; } else { echo ' <TD ID="day'.$fday.'" class="calendar" style="cursor: hand" align="left" valign="top" width=90 height=70 onMouseOver="tdmouseover(\'day'.$fday.'\')"; onMouseOut="tdmouseout(\'day'.$fday.'\')"; onClick="window.open(\''.$schurl.'\', \'schedule\', \'width=534,height=518,scrollbars=yes,resizable=yes\')"> '; } echo ' <b>'.$fday.'</b><br> '; if (isset($fvar) && $fvar != "") { echo ' <A class=\'calendar\' style="cursor: hand" onClick="java script:window.open(\''.$schurl.'\', \'schedule\', \'width=534,height=518,scrollbars=yes,resizable=yes\')"> '; echo ' '.$fvar.' </A>'; } } echo ' </TD> '; } function FillDay($caldb, $dayofweek, $dayofmonth, $thismonth, $thisyear) { $textbody = ''; $nr = $caldb->GetByDate($thismonth, $dayofmonth, $thisyear); for ($k=0;$k<$nr;$k++) { $caldb->next_record(); $textbody.= $caldb->f('shortevent').'<br>'; } $nr = $caldb->GetYearly($thismonth, $dayofmonth); for ($k=0;$k<$nr;$k++) { $caldb->next_record(); $textbody.= $caldb->f('shortevent').'<br>'; } $nr = $caldb->GetYearlyRecurring($thismonth, $dayofweek); for ($k=0;$k<$nr;$k++) { $caldb->next_record(); $test = $dayofmonth / 7; $periodlow = $caldb->f('period') - 1; if ($test <= $caldb->f('period') && $test > $periodlow) { $textbody.= $caldb->f('shortevent').'<br>'; } } $nr = $caldb->GetMonthly($dayofmonth); for ($k=0;$k<$nr;$k++) { $caldb->next_record(); $textbody.= $caldb->f('shortevent').'<br>'; } $nr = $caldb->GetMonthlyRecurring($dayofweek); for ($k=0;$k<$nr;$k++) { $caldb->next_record(); $test = $dayofmonth / 7; $periodlow = $caldb->f('period') - 1; if ($test <= $caldb->f('period') && $test > $periodlow) { $textbody.= $caldb->f('shortevent').'<br>'; } } $nr = $caldb->GetWeekly($dayofweek); for ($k=0;$k<$nr;$k++) { $caldb->next_record(); $textbody.= $caldb->f('shortevent').'<br>'; } return $textbody; } echo '<HTML> <HEAD> <TITLE>'.$calender_title.'</TITLE> <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=ISO-8859-1">'; echo '<STYLE TYPE="text/css"> <!-- BODY {background-color: #'.$background_color.'; border-style: none; border-width: 0px; color: #'.$plain_text_color.'; font-family: Arial; font-size: 12px; font-style: normal; margin: 0px; padding: 4px; text-align: left; text-decoration: none; text-indent: 0px} A {border-style: none; border-width: 0px; color: #'.$link_color.'; font-family: Arial; font-size: 12px; font-style: normal; margin: 0px; padding: 0px; text-align: left; text-decoration: none; text-indent: 0px} A.normal {font-size: 12px; text-decoration: underline} A.calendar {color: #'.$calendar_link_color.'; font-size:10px} A.bottom {color: #'.$link_color.'; font-size:10px} P {font-size: 10px; text-align:center; color: #'.$link_color,'} IMG {border-style: none; border-width: 0px; margin: 0px; padding: 0px} TABLE {border-style: none; margin: 0px; padding: 0px; border-width: none; font-size: 12px; text-indent: 0px; font-weight: normal; width: 630px; background-color: #'.$calendar_bg_color.'; color: #'.$plain_text_color.'} TABLE.top {width: 100%; height: 60px} TABLE.form (width: 100%; height: 60px; text-align: center; border-style:none; border-width: 0px; background-color: #'.$background_color.'; color: #'.$plain_text_color.'} TR {border-style: none; border-width: 0px; margin: 0px; padding: 0px} TD {border-style: solid; border-width: thin; margin: 0px; padding: 0px; border-color: #'.$calendar_border_color.'; font-weight: normal; background-color: #'.$calendar_bg_color.'} TD.top {padding: 4px; font-size: 16px; height: 60px; text-align:center; font-weight: bold; border-style: none; border-width: 0px} TD.ends {padding: 4px; font-size: 12px; height: 60px; text-align: center; border-style: none; border-width: 0px; font-weight: bold} TD.form {padding: 0px; font-size: 12px; border-style: none; border-width: 0px; background-color: #'.$background_color.'; color: #'.$plain_text_color.'} TD.days {padding: 2px; font-size: 12px; width: 90px; height: 40px; text-align:center; font-weight: bold} TD.curday {width: 90px; text-align: left; font-size: 10px; height: 70px; background-color: #'.$current_day_color.'} TD.calendar {width: 90px; text-align: left; font-size: 10px; height: 70px} --> </STYLE> '; echo ' <SCRIPT LANGUAGE="JavaScript"> <!-- var isIE; isIE = (document.all) ? true : false; function tdmouseover(itemID) { if(isIE) { var theObj = eval("document.all." + itemID); theObj.style.backgroundColor = \'#'.$mouse_over_color.'\'; } } function tdmouseout(itemID) { if(isIE) { var theObj = eval("document.all." + itemID); theObj.style.backgroundColor = \'#'.$calendar_bg_color.'\'; } } function tdcurmouseout(itemID) { if(isIE) { var theObj = eval("document.all." + itemID); theObj.style.backgroundColor = \'#'.$current_day_color.'\'; } } //--> </SCRIPT> </HEAD> '; echo '<BODY TOPMARGIN=0 LEFTMARGIN=0 MARGINHEIGHT=0 MARGINWIDTH=0> <CENTER> <TABLE cellspacing=0 cellpadding=0 width=560 border=0> <TR> <TD class="form" align="center" valign="bottom" width="100%" COLSPAN=7> <FORM METHOD="post" ACTION="calendar.php"> <TABLE class="form" cellspacing=0 cellpadding=0 width="100%" border=0> <TR> <TD class="form" align="left" valign="bottom"> <b>Dato i dag:</b> '.date("F j, Y").' </TD> <TD class="form" align="left" valign="bottom"> <b>Måned:</b> <select name="month"> '; for ($j=1;$j<=12;$j++) { echo'<option value='.$j; if ($month == $j) { echo ' selected'; } echo '>'.date("F", mktime(0, 0, 0, $j, 1, 0)).' '; } echo ' </select> <b>År:</b> <select name="year"> '; for ($j=2004;$j<=2068;$j++) { echo'<option value='.$j; if ($year == $j) { echo ' selected'; } echo '>'.$j.' '; } echo ' </select> <input type="submit" value="Vælg"> </TD> </TR> <TR> <TD class="form" align="right" valign="bottom" colspan=2> <A style="cursor: hand" onClick="java script:window.open(\'caladmin.php\', \'caladmin\', \'width=415,height=423,scrollbars=yes,resizable=yes\')" onMouseOver="window.status=\'\'">Administration</A> </TD> </TR> </TABLE> </FORM> </TD> </TR> <TR> <TD align="center" valign="middle" height=60 COLSPAN=7> <TABLE class="top" cellspacing=0 cellpadding=0 width=560 border=0> <TR> <TD class="ends" nowrap align="center" valign="bottom"> <A HREF="calendar.php?month='.$prevmonth.'&year='.$prevyear.'"><< '.$backward.'</a> </TD> <TD class="top" nowrap align="center" valign="middle" width=350> '; if (isset($calender_title_image) && $calender_title_image != '') { echo ' <img src="'.$calender_title_image.'">'; } else { echo ' '.$calender_title; } echo '<br>'.$current.' </TD> <TD class="ends" nowrap align="center" valign="bottom"> <A HREF="calendar.php?month='.$nextmonth.'&year='.$nextyear.'">'.$forward.' >></a> </TD> </TR> </TABLE> </TD> </TR> <TR> <TD class="days" nowrap align="center" valign="middle" width=90 height=40> Søndag </TD> <TD class="days" nowrap align="center" valign="middle" width=90 height=40> Mandag </TD> <TD class="days" nowrap align="center" valign="middle" width=90 height=40> Tirsdag </TD> <TD class="days" nowrap align="center" valign="middle" width=90 height=40> Onsdag </TD> <TD class="days" nowrap align="center" valign="middle" width=90 height=40> Torsdag </TD> <TD class="days" nowrap align="center" valign="middle" width=90 height=40> Fredag </TD> <TD class="days" nowrap align="center" valign="middle" width=90 height=40> Lørdag </TD> </TR> '; $calday = 1; while ($calday <= $lastday) { echo '<TR>'; for ($j=0;$j<7;$j++) { if ($calday == 1) { if ($first == $j) { $info = FillDay($db, $j, $calday, $month, $year); AddDay($calday, $month, $year, $info); $calday++; } else { AddDay('', '', '', ''); } } else { if ($calday > $lastday) { AddDay('', '', '', ''); } else { $info = FillDay($db, $j, $calday, $month, $year); AddDay($calday, $month, $year, $info); $calday++; } } } echo '</TR>'; } echo ' </TABLE> </CENTER> </BODY> </HTML>'; ?>
08. august 2004 - 13:29
#5
hvor skal den stå og hvilken variable bestemmer hvilken måned det er ? (gider ikke kigge alt det der igennem)
08. august 2004 - 14:22
#6
Ja, det er jo det som er problemet... Jeg forestillede mig egentlig, at man kunne skrive noget i HEAD, som var generelt for hele dokumentet - men det kan man måske ikke?
08. august 2004 - 15:44
#7
OK, nu har jeg fundet de steder hvor måneder forekommer (hvis man ikke kan skrive en generel kode). Den vises i alt 5 steder på siden. Øverst ses den måned man har valgt: echo '<br>'.$current.' Derefter vises datoen i dag: <TD class="form" align="left" valign="bottom"> <b>Dato i dag:</b> '.date("F j, Y").' </TD> Her kan man vælge en måned i en rulleliste: <TD class="form" align="left" valign="bottom"> <b>Måned:</b> <select name="month"> '; for ($j=1;$j<=12;$j++) { echo'<option value='.$j; if ($month == $j) { echo ' selected'; } echo '>'.date("F", mktime(0, 0, 0, $j, 1, 0)).' '; } echo ' </select> <b>År:</b> <select name="year"> '; for ($j=2004;$j<=2068;$j++) { echo'<option value='.$j; if ($year == $j) { echo ' selected'; } echo '>'.$j.' '; } echo ' </select> <input type="submit" value="Vælg"> </TD> Her kan man gå til forrige måned: <TD class="ends" nowrap align="center" valign="bottom"> <A HREF="calendar.php?month='.$prevmonth.'&year='.$prevyear.'"><< '.$backward.'</a> </TD> og til næste måned: <TD class="ends" nowrap align="center" valign="bottom"> <A HREF="calendar.php?month='.$nextmonth.'&year='.$nextyear.'">'.$forward.' >></a> </TD>
08. august 2004 - 20:45
#8
setlocale( LC_TIME, "da_DK" ); eller på windows: setlocale( LC_TIME, "dan" ); echo "Måneden er " . date( "F" );
08. august 2004 - 20:46
#9
Du burde bare kunne smide den setlocale jeg har skrevet (en af dem) op i toppen af dit script.
08. august 2004 - 20:55
#10
Det er meget fint, den skriver godt nok "Måneden er August", men månederne på resten af siden bliver stadig returneret på engelsk. Jeg kunne jo godt tænke mig at ændre månederne generelt - kan det ikke lade sig gøre?
08. august 2004 - 21:09
#11
Prøvede du at sætte setlocale( LC_TIME, "da_DK" ); eller på windows: setlocale( LC_TIME, "dan" ); ind i toppen af dit script? Jeg kan se at dit script bruger date("F") til at vise måneden med, så det burde virke.
08. august 2004 - 21:15
#12
Ja, jeg har prøvet - og lige prøvet igen - begge dele returnere bare "August" øverst på siden og ændre ikke månederne på resten af siden.
08. august 2004 - 22:35
#13
Hmm, du skal ikke smide min echo linie ind... Kan du se om der er en setlocale et andet sted i scriptet eller i en include/require under det sted du har skrevet den?
09. august 2004 - 06:13
#14
Nej, det er der ikke...
30. november 2005 - 19:29
#15
setlocale() virker ikke med date() kun med strftime()
30. november 2005 - 19:29
#16
afaik
30. november 2005 - 19:32
#17
Doh! Ja det er korrekt! Så: setlocale( LC_TIME, "da_DK" ); eller på windows: setlocale( LC_TIME, "dan" ); echo "Måneden er " . strftime( "%B" );
01. december 2005 - 19:59
#18
Hmmmm, jeg har for længst opgivet projektet med datoen, men jeg deler lige pointene mellem jer som tak for ulejligheden :-)
Vi tilbyder markedets bedste kurser inden for webudvikling