Aký je najlepší spôsob v php, ako postupovať nasledovnereťazec mm [nejaký znak] dd [nejaký znak] rrrr a preložiť ho do rrrrmmdd? Pravdepodobne budem chcieť v budúcnosti, podľa miestnych urob to isté s dd [some char] mm [some char] yyyy.
Ak existuje spôsob, ktorý už používa Zend Framework API, tým lepšie
odpovede:
2 pre odpoveď č. 1<?php
$str = "08-24-1989"; // can be in any recognizable date format.
$new_str = date("Ymd", strtotime($str)); // produces "20090824".
?>
Môžete nahradiť Ymd
v druhom výpise vyššie s nájdenými znakmi formátu dátumu tu.
Ak hľadáte použitie rámca Zend_Date spoločnosti Zend, pozrite si niekoľko príkladov a dokumentácie tu. Úprimne povedané, funkcie PHP sú vo vašom prípade oveľa jednoduchšie a ľahšie použiteľné.
1 pre odpoveď č. 2
date("Ymd", strtotime($time));
Strtotime je úplne najlepší nástroj na preloženie takmer ľubovoľného formátu času do štandardného, ktorý potom môžete použiť dátum do požadovaného formátu.
Pretože otázka, nadpis hovorí MySQL Dates, toto je formát reťazca, ktorý používa mysql.
date("Y-m-d h:i:s", strtotime($time));
0 pre odpoveď č. 3
Pokiaľ sa [niektoré znaky] nelíšia, použite mysql str_to_date funkcia, napr. STR_TO_DATE ("12 | 23 | 2009", "% m |% d |% Y");
0 pre odpoveď č. 4
Absolútne by som použil TIMESTAMP na akékoľvek randeskladovanie. Je neuveriteľne ľahké zvládnuť časové rozdiely (napríklad VYBERTE ... KDE dátum MEDZI 2138728753 A 376251237) a dá sa ľahko preložiť do ľubovoľného miestneho prostredia :)