Jump to content
php.lv forumi

datums no db, salidzinasana...


SaMay

Recommended Posts

Tā tad iekš datu bāzes tiek veikts ieraksts kurā norāda laiku.

Tālāk attiecīgajā vietā tas laiks tiek salīdzināts ar šīs dienas datumu.

if($kkas["laiks"] == date("j n Y"))

Tā tad jautājums vai tā vispār var salīdzināt?

Un kā varētu norādīt, ja tas apgalvojums ir paties, lai ar $kkas["laiks"] attiecīgajā vietā parāda Šodien. Ja viena diena jau pagājusi tad Vakar utt..

 

Ceru ka kāds sapratīs.. :D

Link to comment
Share on other sites

Kaut kā šādi varētu mēģināt

SELECT DATEDIFF(CURDATE(),datums) FROM `tabula`

Tālāk skaties, cik liela ir atšķirība un attiecīgi izvadi "vakar", "aizvakar", "pirms 3 dienām", "pirms nedēļas", etc.

Edited by marcis
Link to comment
Share on other sites

$result = mysql_query("SELECT DATEDIFF(CURDATE(), laiks) AS laiksa, " ."DATE_FORMAT(laiks, '%j %n %Y') AS laiksa FROM statistika WHERE userid=".$userid." ");

$row = mysql_fetch_assoc($result);

$laiks = $row['laiksa'];

if ($laiks == 0) {

$str = 'Šodien';

} elseif ($laiks == 1) {

$str = 'Vakar';

} else {

$str = $laiks . 'dienas atpakaļ';

}

Man sanāca kaut kas šāds. Bet diemžēl visu laiku tiek parādīts Šodien. Varētu pastāstīt kas nav izdarīts pareizi? :)

Link to comment
Share on other sites

Es daru šādi:

function nameDate($date){
$day = 0;
$timesstr  = strtotime($date);
$difference = (strftime("%j")+strftime("%Y")*365)-(strftime("%j",$timesstr)+strftime("%Y",$timesstr)*365);
if ($difference == 2) $day = 'Aizvakar';
if ($difference == 1) $day = 'Vakar';
if ($difference == 0) $day = 'Šodien';
$clock_time = explode ('-',date("Y-d-m-H:i",$timesstr));
if($day) return $day.', '.$clock_time[3]; else return $date;
}

Link to comment
Share on other sites

function dienas($str){ // Y-m-d H:i
 list($d, $l) = explode(' ', $str);
 list($stundas, $minutes) = explode(':', $l);
 if($stundas >= 12 && $stundas <= 17) {
 $kad = 'Šodien';
 }
 if($stundas >= 18 && $stundas <= 23) {
 $kad = 'Šovakar';
 }
 if($stundas >= 00 && $stundas <= 04) {
 $kad = 'Šonakt';
 }
 if($stundas >= 05 && $stundas <= 11) {
 $kad = 'Šorīt';
 }
 $replace=array(
			date('Y-m-d', time()-60*60*24)=>'Vakardien',
			date('Y-m-d', time()-60*60*48)=>'Aizvakar',
			date('Y-m-d')=>$kad
			);


 $str=strtr($str,$replace);
 return $str;
}

Edited by Pentiums
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...