Avatar billede Slettet bruger
11. juli 2007 - 22:43 Der er 9 kommentarer og
1 løsning

Omskriv 040707 til 4 juli 2007

HEj.

Overskriften siger jo det hele :-)

Jeg har et felt i en database hvor datoen er indskrevet i formatet 040707 og det vil jeg gerne have omskrevet til 4 juli 2007

Hvordan kan man lige gøre det ? Jeg har søgt noget rundt her, men ikke rigtig fundet noget jeg kan bruge, eller finde ud af.

Feltet i basen hedder Dato

Ole.
Avatar billede korup Nybegynder
11. juli 2007 - 22:57 #1
Du kan evt. bruge:

<?php
setlocale(LC_ALL, 'danish');

//the date of the variable holding the original date value
$date = "041107";

//format the date for mktime() function -- you need day, month, year
$year = substr($date, 4,2);
$month = substr($date, 2, 2);
$day = substr($date, 0, 2);

//check the results
echo $year;
echo "<br>";
echo $month;
echo "<br>";
echo $day;

$new_date = date("j F Y", mktime(0, 0, 0, $month, $day, $year));

//check the results of new date
echo "<br>";
echo $new_date;

?>

/korup
Avatar billede Slettet bruger
12. juli 2007 - 08:24 #2
Det virkede næsten perfekt:)

Den skriver måned med engelsk, ellers perfekt.

Hvordan fordansker jeg den ?

Ole.
Avatar billede kinderaeg Nybegynder
12. juli 2007 - 09:25 #3
Det kommer lidt an på, hvad localen hedder på det system du kører på, det kan godt variere lidt, men korup har faktisk forsøgt at sætte locale, i hvert fald, men anvender den ikke. Nedenstående kører igennem en setLoc-funktion der forsøger op til ti gange at sætte locale, da systemet nogle gange kan være lidt tungnemt, så det kan være godt at sikre sig ;) Nedenstående skal selvfølgelig inkorpereres i korup's kode ;)

setLoc('da_DK.ISO_8859-1');

function setLoc($loc) {
  $i=0;
  do {
    $locale_result = setlocale(LC_TIME, $loc);
  } while ($locale_result != $loc && $i++ < 10);
}

$new_date = strftime("%d. %b %Y", mktime(0, 0, 0, $month, $day, $year));
Avatar billede Slettet bruger
12. juli 2007 - 09:33 #4
Ja, det er bare et andet format :)

Den skriver nu:  04. jul 2007

Hvad er bogstavet for fuld måned ? Det er åbenbart ikke %b, så viser den kun 3 bogstaver.
Avatar billede Slettet bruger
12. juli 2007 - 09:44 #5
Den skriver jo også 04 - det skal bare være 4.

Jeg roder rundt i manualer, men kan ikke finde noget om danske formater. Er der slet ingen sider med eksempler på dansk eller til danske forhold ?  Selv russisk eksempel har jeg fundet, men det kan jeg ikke læse :)
Avatar billede Slettet bruger
12. juli 2007 - 09:51 #6
Sikke en kamp. Det skulle tilsyneladende bare være %B :)

Smid nogle svar, så deler I.

Ole.
Avatar billede kinderaeg Nybegynder
12. juli 2007 - 09:52 #7
Avatar billede kinderaeg Nybegynder
12. juli 2007 - 09:53 #8
Gi' bare pointene til korup, jeg tweakede bare lidt ;)
Avatar billede Slettet bruger
12. juli 2007 - 09:59 #9
Det er da ligemegetr hvad du gjorde, det fik mig skudt ind på løsningen :) og det er jo det der er vigigt.

Men du bestemmer jo.

Tusind TAK til jer begge, nu ser det helt fornuftigt ud.

Ole.
Avatar billede korup Nybegynder
12. juli 2007 - 11:51 #10
svar
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