Web sitelerinde gördüğümüz 1 dakika önce veya 10 saniye önce gibi zaman dilimlerini php ile nasıl yapabiliriz bilgisi olan var mı ben araştırdım bulamadım. Mesela Gönderim saatini mysql de time yaparak ve php now() fonksiyonu ile yazdırıyorum now() fonksiyonu ile yazdırdığım andan şu ana kadar kaç dakika ya da saniye geçtiğini nasıl bulabilirim?
veri tabanında zamanı integer olarak tut time() ile aldığın unix_timestamp zamanı veri tabanına kayıt edeceksin. daha sonra veri tabanından çekip time() fonksiyonundan çıkardığında kyıt zamnından şimdiki zamana kadar geçen saniye sayısını bulursun saniyeyi diğer cinslere cevirmeyi anlatmama gerek yok herhalde
<!--The Coders Script v2.0 çok yakında-->
<!--Bana balık vermeyin balık tutmayı öğretin.-->
hocam aynen dediğini yaptım ama 123456567598 gibi bi değer elde ediyorum bu unix_timestamp zamanını nasıl saniyeye dakikaya çevireceğimi bilmiyorum :(( anlatabilirsen minnettar olurum şimdiden teşekkür ederim
Kısaca anlatmak gerekirse date() fonksiyonu işimizi görecektir.
CODE:
<?
echo date("d.m.Y H:i:s",time());
?>
<?
$simdi=time();
$besdakikaonce=time()-300; //5 dakika 300 saniye eder.
$fark=$simdi-$besdakikaonce;
echo date("i",$fark)." dakika önce yazıldı";
?>
<?
function tarih_fark($tarih1,$tarih2){
$deger1=date("y.n.d.h.i.s",$tarih1);
$deger2=date("y.n.d.h.i.s",$tarih2);
$dateArr1=explode(".",$deger1);
$dateArr2=explode(".",$deger2);
$output="";
$i=0;
$textArr=array("yıl","ay","gün","saat","dakika","saniye");
foreach($dateArr1 as $d){
$farklar[$i]=$dateArr1[$i]-$dateArr2[$i];
if($farklar[$i]!=0){
$output.=$farklar[$i]." ".$textArr[$i]." ";
}
if($i==5){
$output.= " önce";
}
$i++;
}
return $output;
}
$simdi=time();
$besdakikaonce=time()-300; //5 dakika 300 saniye eder.
echo tarih_fark($simdi,$besdakikaonce);
?>
<!--The Coders Script v2.0 çok yakında-->
<!--Bana balık vermeyin balık tutmayı öğretin.-->
hocam veritabanına time() fonksiyonu ile kayıt ekleyemiyorum bunu başarabilsem tamamdır zaten
time() fonksiyomu bir php komutudur sana 1970 ten şu ana kadar geçen saniye sayısını verir bu sayı bir integer değerdiri veri tabanıda bir integer field a bu veriyi insert edebilirsin.
CODE:
$timestamp=time();
mysql_query("insert into table (field) values($timestamp)");
<!--The Coders Script v2.0 çok yakında-->
<!--Bana balık vermeyin balık tutmayı öğretin.-->
hocam kod aynen böyle ama kayıt yapmıyor veritabanına unix_time alanı int(11) bu arada
CODE:
<?
if ($_POST[email]!="" and $_POST[sifre]!="" and $_POST[cinsiyet]!="0" and ($_POST[gun]!="0" or $_POST[ay]!="0" or $_POST[yil]!="0") and $kayit=="" and $_POST[gonder]!=""){
$sql=mysql_query("insert into uyelerim (adsoyad,email,sifre,cinsiyet,dogum_tarihi,uyelik_tarihi,uyelik_saati,unix_time) values ('$_POST[addd]','$_POST[email]',md5($_POST[sifre]),'$_POST[cinsiyet]','$_POST[yil]-$_POST[ay]-$_POST[gun]',now(),now()),time())");
if($sql){
$_SESSION[email]=$_POST[email];
header("location:kayityapildi.php");
}
}
?>
