Kā pārbaudīt, vai ir šodienas datums (6)
@ 05.03.2010, 15:58Dažkārt uzturoties lapā, kur regulāri kaut kas tiek pievienots, izsekot līdzi jaunākajam ir pagrūti, ja datums ir prastā formātā, pieņemsim, dd.mm.yyyy, hh:mm, proti, nevar vienā acu mirklī saprast, kas ir jauns un kas nē. Lai labāk pamanītu jaunāko, ir noderīgi vienkāršā ceļā aizstāt dd-mm-yyyy ar vārdu "šodien", tas uzreiz ātrāk iekrīt acīs un nav lieki jāapsmadzeņo, kas tad īsti šodien ir pa datumu un vai tas ir jauns vai vecs. Uzrakstīju pavisam mazu un vienkāršu kodu, kas to pārbauda.
function laiks($var) {
$time = date("d", time())-date("d", $var);
$month = date("m", time())-date("m", $var);
$year = date("Y", time())-date("Y", $var);
if($time == 0 && $month == 0 && $year == 0) {
return "šodien, ".date("G:i", $var);
}
elseif($time == 1 && $month == 0 && $year == 0) {
return "vakar, ".date("G:i", $var);
}
else {
return date("d.m.Y, G:i", $var);
}
}
Komentāri (6)
@ 05.03.2010, 19:32
Nu jā, tas jau ir daudz smalkāk :) Ja gribētu no mana skripta izdabūt vakardienu vai da jebkuru citu dienu, nebūtu grūti iedomāties, kas būtu jāieraksta 0 vietā :) Un ja vēl nedēļas dienas pie visa gribētu, tad bez grūtībām salādētu attiecīgi to visu masīvā. :) Vobšem tavam variantam neko pielikt, ne atņemt, kinda viss, ko no datuma izskata varētu vēlēties, prikola pēc vēl aizvakardienu iemaukt vienīgais.
@ 05.03.2010, 20:25
Piemirsu piebilst, ka salīdzinšānā patiesībā būtu ieteicams lietot Tavu variantu, jo mans kods nevar parādīt datumu nākotnē. Es pats to neesmu izlabojis, jo man vienkārši konkrētajā vietā nav iespējams ievietot rakstu vai komentāru ar datumu uz priekšu, bet ja kāds te uzgooglējas vai kā citādi izdomā kaut ko no šā lietot, tad ņemiet vērā :)
@ 06.03.2010, 12:26
Nu jau ir daudz stilīgāk, ja rāda, cik minūtes vai stundas ir pagājušas no ierakstīšanas brīža.
example:
Pirms 3. stundām, 10. minutēm,
or
Aizvakar plkst. tikos un tikos,
else
datums, laiks
:)
Domu saprati. ;)
@ 06.03.2010, 21:05
Mazu nepilnību pamanīju savā kodā, nupat pats uzdūros. :) Biju salīdzinājis tīri tikai dienu starpību, par mēnešiem un gadiem pavisam aizmirstot... Labots!
@ 11.03.2010, 13:03
Lūk arī mana interpretācija:
function laiks($var){
$days = array(
strtotime('today') => 'šodien',
strtotime('yesterday') => 'vakar'
);
foreach($days as $key=>$value) if($var >= $key) return $value.' '.date('G:i', $var);
return date('d.m.Y G:i', $var);
}
Ierakstīt komentāru
@ 05.03.2010, 17:07
Es lietoju šādu variantu: http://exs.lv/dati/upload/code/datelv.txt
:)