Autor Zpráva
vasiik
Profil *
Zdravím,

potřeboval bych pomoct s převodem formátu jednoho řetězce na jiný řetězec o jiném formátu. Srozumitelněji vysvětleno na příkladu:

ret_1: 2014-01-20+01:00
ret_2: 01_2014

Potřeboval bych nějaký script, který by mi ret_1 převedl na ret_2.

Díky V.
Tori
Profil
strtotime + date.
vasiik
Profil *
A ještě nějaké větší nakopnutí by nebylo?
Díky moc V.
Tori
Profil
V odkazáném manuálu je celkem dobře popsané, k čemu obě funkce slouží - že jedna převede nějaký řetězec na čas (tj. číslo, unix timestamp), a druhá převádí čas jako timestamp na řetězec podle zadání (např. když chcete jen měsíc dvojciferně, podtržítko a rok čtyřciferně). Zkusil jste to a něco vám nefunguje, anebo to prostě chcete napsat za vás?
Chro
Profil
Nejde ani tak o práci s časem jako o přeformátování řetězce a jeho oříznutí do jiné podoby. Takže např. takto, pokud bude tvar ret_1 vždy takový, jaký byl uveden výše.
$pole = explode('-', $ret_1, -1);
$ret_2 = implode('-', array_reverse($pole));



EDIT:
Oprava na podtržítko v implode.
$pole = explode('-', $ret_1, -1);
$ret_2 = implode('_', array_reverse($pole));
Tori
Profil
Chro:
Nejde ani tak o práci s časem jako o přeformátování řetězce a jeho oříznutí do jiné podoby
Ok. Ale pokud bude tvar ret_1 vždy takový, jaký je uveden výše, tak bude fungovat i tohle:
$ret_2 = date('m_Y', strtotime($ret_1));
edit: ↓ to je samozřejmě pravda. Každopádně díky, nevěděla jsem o negativních hodnotách u 3.param explode.
Chro
Profil
Je to kratší, uznávám, ale nemůže to třeba haprovat na nějakém nastavení PHP, nastavení timezone, když bude datum z 18. století, atp.?

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0