Avatar billede andersthingholm Nybegynder
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
Avatar billede expnet Seniormester
15. juli 2004 - 14:20 #1
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
Avatar billede coderdk Praktikant
15. juli 2004 - 14:33 #2
På linux:

  setlocale( LC_TIME, "da_DK" );
  echo strftime("%A, %e. %B %Y", mktime(0, 0, 0, 7, 14, 2004));

:)
Avatar billede taskmgr Nybegynder
15. juli 2004 - 14:37 #3
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>
Avatar billede coderdk Praktikant
15. juli 2004 - 14:39 #4
Ingen grund til jo, da php kan de danske navne fra starten ;)
Avatar billede andersthingholm Nybegynder
15. juli 2004 - 14:42 #5
coderdk - kan du prøve at omskrive min kode - jeg kunne umiddelbart kun få taskmgr's til at virke?
Avatar billede taskmgr Nybegynder
15. juli 2004 - 14:42 #6
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 :)
Avatar billede andersthingholm Nybegynder
15. juli 2004 - 14:43 #7
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>";
                    }
                }
Avatar billede coderdk Praktikant
15. juli 2004 - 14:43 #8
øøø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...
Avatar billede coderdk Praktikant
15. juli 2004 - 14:44 #9
gah

echo "<option value=\"".$day ."\">". strftime("%A, %e. %B %Y", $day)."</option>";
Avatar billede andersthingholm Nybegynder
15. juli 2004 - 14:46 #10
hmm, den viser stadig engelske...
Avatar billede andersthingholm Nybegynder
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>";
                    }
                }
Avatar billede coderdk Praktikant
15. juli 2004 - 14:47 #12
prøv:

setlocale( LC_TIME, "dan" );

eller

setlocale( LC_TIME, "da" );

Linux eller windows?
Avatar billede coderdk Praktikant
15. juli 2004 - 14:47 #13
Evt. erstat LC_TIME med LC_ALL
Avatar billede andersthingholm Nybegynder
15. juli 2004 - 14:47 #14
Windows
Avatar billede coderdk Praktikant
15. juli 2004 - 14:48 #15
Ok, prøv det jeg skrev :) Evt. med LC_ALL
Avatar billede andersthingholm Nybegynder
15. juli 2004 - 14:49 #16
setlocale(LC_TIME, "dan");

Denne virker, men ugedagene har lille begyndelsesbogstav, hvordan fikses det?
Avatar billede taskmgr Nybegynder
15. juli 2004 - 14:50 #17
ucfirst()
Avatar billede andersthingholm Nybegynder
15. juli 2004 - 14:53 #18
BINGO!
Avatar billede andersthingholm Nybegynder
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...
Avatar billede coderdk Praktikant
15. juli 2004 - 15:21 #20
Vist en windows bug... prøv:

strftime( "%A, ", $day ) . ( strftime( "%d", $day ) + 0 ) . strftime( ". %B %Y", $day );
Avatar billede andersthingholm Nybegynder
15. juli 2004 - 23:25 #21
Jep, det virkede...
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester