Gå til innhold

[Løst] Echo norsk dato ('dmY')


Anbefalte innlegg

Hallo.

Har litt problemere med å INSERT INTO mysql med norsk dato som i dag-måned-år.

 

Jeg er veldig ny til php, men har et skript som fungerer bra, men jeg får den kun til å echo f.eks. 2012 May 18.

 

$title = $_POST['title'];

$text1 = $_POST['text1'];

$dato = $_POST['dato'];

 

$result = mysql_query("INSERT INTO blog_posts (title, post, dato)

VALUES ('$title','$text1','$dato')",$connect);

 

TIL:

 

$result = mysql_query("SELECT *, DATE_FORMAT(DATO, '%Y %b %d') as dato FROM blog_posts WHERE dato &--#62; NOW() ORDER BY dato",$connect);

 

echo $myrow['dato']

echo $myrow['title']

echo $myrow['post'] osv.........

 

Med %Y &b &d så klarer den å lese det, men hvis jeg setter %d %b %Y så blir det bare rotete og ingen system av en eller annen grunn..

 

Noen ideer?

 

Pluss oversett måneder.

June = Juni osv

 

Takk!

Endret av stian_credins
Lenke til kommentar
Videoannonse
Annonse

Du må bruke STR_TO_DATE() når du lagrer dato, gitt at feltet er DATE eller DATETIME. Da kan du formatere den akkurat som du vil med DATE_FORMAT() i en SELECT

 

<?php
// regner med at dato formatet er dd.mm.åååå
// i sprintf så er % escape string, så %% = %

$sql=sprintf("INSERT INTO blog_posts (title, post, dato) VALUES ('%s','%s',STR_TO_DATE('%s','%%d.%%m.%%Y'))",
mysql_real_escape_string($_POST['title']),
mysql_real_escape_string($_POST['text1']),
mysql_real_escape_string($_POST['dato']));

mysql_query($sql);
?>

 

For å oversette så bruker jeg en funksjon som dette, og en tilsvarende funksjon for måneder.

 

<?php
function oversett_dag($dag) {
 $dager = array('mon' => 'man',
  'monday' => 'mandag',
  'tue' => 'tir',
  'tuesday' => 'tirsdag',
  'wed' => 'ons',
  'wednesday' => 'onsdag',
  'thu' => 'tor',
  'thusday' => 'torsdag',
  'fri' => 'fre',
  'friday' => 'fredag',
  'sat' => 'lør',
  'saturday' => 'lørdag',
  'sun' => 'søn',
  'sunday' => 'søndag');

 return $dager[strtolower($dag)];
}
?>

 

 

Kan være at du bør dele opp dato i SELECTEN, slik at dag og måned blir egne felt, og så sette dem sammen i echo

<?php
$sql="SELECT DATE_FORMAT(dato,'%a') ukedag, DATE_FORMAT(dato,'%d') dag, DATE_FORMAT(dato,'%b') mnd, DATE_FORMAT(dato,'%Y') aar FROM ....";

// kjør sql og slikt her

echo oversett_dag($row['ukedag']). ' ' . $row['dag'] . '-' . oversett_mnd($row['mnd']) . '-' . $row['aar'];
?>

Lenke til kommentar
  • 2 uker senere...

du kan lett sette denne lille PHP saken helt i toppen av nettstedet ditt:

&--#60;?php
setlocale(LC_ALL,'no_NO');  //  "no_NO" for Norsk, les mer her :  http://php.net/manual/en/function.setlocale.php
?&--#62;

Denne lille saken sørger ganske enkelt for at all php-genererte datoer vises på norsk ;)

Du kan teste med å lage et slikt dokument : (set_locale.php)

&--#60;?php
setlocale(LC_ALL,'no_NO');
print strftime('%A %d. %B %Y kl. %T');
?&--#62;

u/ set_locale() = Saturday 28. April 2012 kl. 03:02:34

m/ set_locale() = lørdag 28. april 2012 kl. 03:04:15

 

[EDIT] : Passe trøtt her, så leste ikke veldig godt etter... beklager, men så kjapp igjennom og la merke til Crowly sin omskriving av dagene fra EN til NO...

Min greie var for å få ut dato på norsk vis... heh...

Endret av Yawa
Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...