Gå til innhold

Gjøre "27 Dec 2006" om til "2006-12-27"


Anbefalte innlegg

Skrevet

Hvordan kan man gjøre om "27 Dec 2006" til og bli "2006-12-27" i PHP? :)

 

Takker for svar :) Skulle gjerne hatt koden litt kjapt :)

Videoannonse
Annonse
Gjest Slettet+142
Skrevet (endret)

PHP

<?php

 

$start "27 Dec 2006";

 

$dato explode(" "$start);

 

$maaneder = array("Jan"=>1"Feb"=>2"Mar"=>3"Apr"=>4"May"=>5"Jun"=>6"Jul"=>7"Aug"=>8"Sep"=>9"Oct"=>10"Nov"=>11"Dec">=12);

 

foreach($maaneder as $mnd => $tall){

if($mnd==$dato[1]){

 $month $tall;

 continue; // er dette riktig? at den da avslutter foreach?

}

}

 

$nydato $dato[2]."-".$month."-".$dato[0];

echo $nydato;

?>

 

kanskje?

Endret av Slettet+142
Skrevet (endret)

skal du gjøre det om, eller skal du bare lage datoen? Rart det at tråder går igjen med tre. Tre søke tråder på kort tid, tre tråder om gjøre om datoer på kort tid.. menmen

 

<?php
$dato = "27 Dec 2006";
$en = explode(' ', $dato);

$maneder = array("Jan" => 1, "Feb" => 2, "Mar" => 3, "Apr" => 4, "May" => 5, "Jun" => 6, "Jul" => 7, "Aug" => 8, "Sep" => 9, "Oct" => 10, "Nov" => 11, "Dec" => 12);

foreach ($maneder as $maned => $tall) {
if ($en[1] == $maned) $maned1 = $tall;
}
echo $en[2] . '-' . $tall . '-' . $en[0];
?>

 

Edit: treeeeeeeeig xD

Endret av Ståle
Skrevet (endret)

Min virker ihvertfall :):p

 

Hastverk er lastverk xD

 

Edit; så feilen. Mariyo har >= istedenfor => på den siste delen i array'et. :)

Endret av Ståle
Skrevet (endret)

Men i alle dager, dere har jo et assosiativt array, hva skal dere med de løkkene?

 

$dato = "27 Dec 2006";
$split = explode(' ', $dato);

$maneder = array("Jan" => 1, "Feb" => 2, "Mar" => 3, "Apr" => 4, "May" => 5, "Jun" => 6, "Jul" => 7, "Aug" => 8, "Sep" => 9, "Oct" => 10, "Nov" => 11, "Dec" => 12);

// denne testen kan inkluderes for å unngå evt. feil, men burde være unødvendig
// if( array_key_exists( $split[1], $maneder ) )
echo $split[2].'-'.$maneder[$split[1]].'-'.$split[0];

 

 

 

 

@Mariyo:

nei, continue fortsetter løkken, mens break derimot avbryter den.

Endret av Nazgul
Gjest Slettet+142
Skrevet (endret)
@Mariyo:

nei, continue fortsetter løkken, mens break derimot avbryter den.

7623040[/snapback]

ahh.. thanks ;)

husker jeg så det her for ikke lenge siden og tenkte " ja det var det, det var ja :)", men så har jeg klart å glemme det igjen xD

 

edit:

 

det tok litt tid før jeg skjønte koden din, men damn.. mye smartere enn min :thumbup:

Endret av Slettet+142
Skrevet
Hvordan kan man gjøre om "27 Dec 2006" til og bli "2006-12-27" i PHP? :)

 

Takker for svar :) Skulle gjerne hatt koden litt kjapt :)

7622532[/snapback]

 

Kanskje du kan bruke strtotime?

Noe sånt som:

$date = "27 Dec 2006";
$timestamp = strtotime($date);
$newDate = date("c", $timestamp);
$newDate = substr($newDate, 0, 10);
print $newDate;

 

Variabelvalget var kanskje litt lite kreativt, enlinjeren blir vel noe slikt som:

print substr(date("c", strtotime("27 Dec 2006")), 0, 10);

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...