Archive for 07.12.2006
Kā tikt galā ar paģirām
0Ja gadījumā kādā no ballītēm (vai vienkārši tāpat) ir sanācis iedzert pa daudz, tad jāsamierinās, ka nākamais rīts var būt krietni smags. Un iemesls tam būs pavisam vienkāršs – paģiras. Domāju, ka pirmā janvāra rīts tāds var gadīties ne vienam vien svinētājam. Lai gan metodes, ko darīt, lai paģiras nepiemeklē ir vairākas, šoreiz maza pamācība, ko darīt, ja tomēr paģiras jūs ir piemeklējušas.
Date() + strtotime() + neuzmanība = kļūda
2Bez maz vai iesācēja cienīga kļūda radās, rakstot kārtējo PHP skriptu. Taču neskatoties uz to, ka tā ir visai primitīva cēloņa kļūda, padalīšos ar to, kāda tieši, jo varbūt kādam pagadās tieši šāda kļūda un jātērē laiku, lai saprastu, kas tad īsti noticis.
Situācija bija šāda – ir datums formātā yyyy-mm-dd, piemēram, 1990-07-22. Lai to pārvērstu LV raksturīgā variantā parasti izmantoju date('d-m-Y', strtotime($datums)). Taču, šoreiz bija gadījumi, kad attiecīgā lieta nostrādaja kā parasti un brīžiem nenostrādāja. Kad sāku pētīt uz kuriem datumiem īsti nenostrādā, sapratu, ka tie ir datumi, kas vecāki par 1970-01-01. Lūk! It kā elementāra lieta, bet rakstot skriptu pat neiedomājos, ka būs šādi datumi. Līdz ar to nācās izdomāt kādu apkārtceļu šai lietai. Tā, kā citas standarta funkcijas neatradu, kas to varētu paveikt, tad uzrakstīju mazu funkciju, kura sakārto datumu konkrētajā formātā. Nav jau ideāli, bet vismaz strāda. Ja kādam ir labāki risinājumi šai problēmai – padalieties. Funkcija bija šāda:
function ConvertedDate($date)
{
if ($date)
{
$dz = explode('-', $date);
return $dz[2].'-'.$dz[1].'-'.$dz[0];
}
}
Tātad secinājums – ja maināt datuma formātu, atcerieties par strtotime() ierobežojumiem!