php tip #4
Formatējam datumu no DB timestamp uz cilvēkiem patīkamāku formātu
/** * * Transform date from DB timestamp to readable date * * @param datetime - DB timestamp YYYY-MM-DD HH:ii:ss * @param int - transform type (0 - 6, 10) * 0 - 2009-01-27 * 1 - 2008-12-24 20:15:10 * 2 - Example: 23.06.2008. * 3 - Example: 03.05.2005. plkst. 21:34 * 4 - Example: 2009. gada 1. janvārī * 5 - Example: 2009. gada 1. janvārī, plkst. 23:17 * 6 - Example: 23:45 * 7 - Example: 11:22 AM * 8 - Example: 2009.02.15 11:22 AM * 9 - Example: 2009.02.15 23:22 * 10 - Example: janvāris * @return string - formated time */ function formatDate($timestamp, $type = 0){ $months1 = array ("jan", "feb", "mar", "apr", "mai", "jūn", "jūl", "aug", "sep", "okt", "nov", "dec"); $months2 = array ("janvārī", "februārī", "martā", "aprīlī", "maijā", "jūnijā", "jūlijā", "augustā", "septembrī", "oktobrī", "novembrī", "decembrī"); $months3 = array ("janvāris", "februāris", "marts", "aprīlis", "maijs", "jūnijs", "jūlijs", "augusts", "septembris", "oktobris", "novembris", "decembris"); switch ($type){ case 0: return date('Y-m-d', strtotime($timestamp)); break; case 1: return date('Y-m-d H:i:s', strtotime($timestamp)); break; case 2: return date('d.m.Y.', strtotime($timestamp)); break; case 3: return sprintf(date("d.m.Y. \%\s H:i", strtotime($timestamp)), 'plkst'); break; case 4: return sprintf(date("Y. \%\s d. \%\s", strtotime($timestamp)), 'gada', $months2[intval(date('n', strtotime($timestamp)))-1]); break; case 5: return sprintf(date("Y. \%\s d. \%\s, \%\s H:i", strtotime($timestamp)), 'gada', $months2[intval(date('n', strtotime($timestamp)))-1], 'plkst'); break; case 6: return date('H:i', strtotime($timestamp)); break; case 7: return date('h:i A', strtotime($timestamp)); break; case 8: return date('Y.m.d. h:i A', strtotime($timestamp)); break; case 9: return date('Y.m.d. H:i', strtotime($timestamp)); break; case 10: return $months3[intval(date('n', strtotime($timestamp)))-1]; break; default: return strtotime($timestamp); break; } }






asdfg 19.05.2009 | 11:48
Neekonomiski kaut kā pie katra return izmantot strtotime($timestamp) :)
Šo es liktu pirms switch. Tā arī pēc tam būtu vieglāk funkciju pilnveidot, ja vajadzētu, t.i. varētu padot ne tikai Y-m-d H:i:s formātā.
burlaks 22.05.2009 | 18:57
esmu pilnigi velti izterejis laiku spiezhot uz jusu bannerkluci tvnetaa, un tris reizes shajaa piecu rakstu apshaubaamajaa bloģelī – jus ko nopietni domajat ka SHitas ir “resurss”? te kaut kada struktura nav vispar paredzeta;
web-dev Bot www 22.05.2009 | 21:41
šis vel top par labu un kvalitatīvu resursu, ja ir kādi ieteikumi labprāt tos uzklausīsim.
Roberts 27.05.2009 | 05:08
Mazliet nepārdomāta funkcija. Bet tā vien rādas ka te apgrozās tikai new school koderi, par to liecina vien tas, ka aiz visa šitā slēpjas kautkāds wordpress ar werry apšaubāmu dizainu un saturu. Cerams, tas ar laiku mainīsies. Veiksmi
web-dev Bot www 28.05.2009 | 17:46
2 Roberts paldies par labiem vārdiem, ja vēlies pievienoties komandai un ievietot rakstus, droši dod ziņu, ja iesūtīsi rakstu līdz 03.06.2009 paspēsi vel piedalīties konkursā vairāk lasi šeit http://web-dev.lv/2009/04/konkurss/
Anpher 04.06.2009 | 14:10
asdfg, īstenībā nav tik traki, jo tas ir switch, kas nozīmē to, ka jebkurā gadījumā izpildīsies tikai viens return un arī tikai tie strtotime(), kas ir pie šī return
Kas atkal ir cita – neredzu šādas funkcijas jēgu (izņemot gadījumus, kad vajadzīgi latviski mēnešu nosaukumi). Kāda man ir atšķirība, izsaukt šo funkciju vai date($format, $timestamp) ?
P.S. case 1 – lol?
moo 08.06.2009 | 17:29
Ir gan traki :D
Kāda X pēc vajadzētu datumu formātus apzīmēt ar kaut kādiem cipariņiem.. vismaz konstantes tad nodefinēt vajag.
Vienā case’ē dažviet tur divi strtotime() ar vienādu argumentu izpildās.
Wuu www 29.08.2009 | 10:13
Man nestrādā vispār visu laiku 1970 gadu rāda :D
banesto 05.12.2009 | 20:18
1) kas vainas wordpressam?
2) dizains arī ir sakarīgs.
3) nevajag pārmest mazo saturu, labāk priecājies, ka kāds vispār raksta un dalās domās, būdams vai nebūdams new-school.
4) funkcija neslikta. ekonomiskuma dēļ, strtotime arī būtu licis pirms switch, lai īsāks, lakoniskāks, pārskatāmāks kods
5) stulbi apriet raksta autoru, vajag tikai konstruktīvu kritiku