Laravel Türkiye Discord Kanalı Forumda kod paylaşılırken dikkat edilmesi gerekenler!Birlikte proje geliştirmek ister misiniz?
Merhaba arkadaşlar bir proje için yazmıştım bir heves ile sizler ile paylaşmak istedim

Arkadaşlar bu php ile hesaplama kullanımı
 function GecenZaman ($saniye = 1) {

 if ( ! is_numeric($saniye)){

 $saniye = 1;
 }

 $zaman = time();

 if ($zaman <= $saniye){

 $saniye = 1;

 }else{
 $saniye = $zaman - $saniye;
 }

 $gecen_zaman = '';
 
 $yıl = floor($saniye / 31536000);

 if ($yıl > 0){

 $gecen_zaman .= $yıl.' yıl, ';

 }

 $saniye -= $yıl * 31536000;
 
 $ay = floor($saniye / 2628000);

 if ($yıl > 0 || $ay > 0){

 if ($ay > 0){

 $gecen_zaman .= $ay.' ay, ';

 }

 $saniye -= $ay * 2628000;
 }

 $hafta = floor($saniye / 604800);

 if ($yıl > 0 || $ay > 0 || $hafta > 0){

 if ($hafta > 0){

 $gecen_zaman .= $hafta.' hafta, ';

 }

 $saniye -= $hafta * 604800;
 }

 $gun = floor($saniye / 86400);

 if ($ay > 0 || $hafta > 0 || $gun > 0){

 if ($gun > 0){

 $gecen_zaman .= $gun.' gün, ';

 }

 $saniye -= $gun * 86400;
 }

 $saat = floor($saniye / 3600);

 if ($gun > 0 || $saat > 0){

 if ($saat > 0){

 $gecen_zaman .= $saat.' saat, ';

 }

 $saniye -= $saat * 3600;
 }

 $dakika = floor($saniye / 60);

 if ($gun > 0 || $saat > 0 || $dakika > 0){

 if ($dakika > 0){

 $gecen_zaman .= $dakika.' dakika, ';

 }

 $saniye -= $dakika * 60;
 }

 if ($gecen_zaman == ''){

 $gecen_zaman .= $saniye.' saniye, ';

 }

 return substr(trim($gecen_zaman), 0, -1) . " önce ";

 }
Js fonksiyonu
function GecenZaman(gecenSure){

 if(gecenSure){
 
 var myDate = new Date();
 
 var $zaman = (myDate.getTime() /1000) - gecenSure;
 
 var $yil,$ay,$hafta,$gun,$saat,$dakika,$sure;
 
 $sure = "";
 
 $yil = Math.floor($zaman / 31536000);
 
 if(typeof $yil != 'undefined' && $yil > 0){
 
 $sure += $yil + " yıl, ";
 
 }

 $zaman -= $yil * 31536000;
 
 $ay = Math.floor($zaman / 2628000);
 
 if($yil > 0 || $ay > 0){
 
 if( typeof $ay != 'undefined' && $ay > 0){
 
 $sure += $ay + " ay, ";
 
 }

 $zaman -= $ay * 2628000;
 
 }

 $hafta = Math.floor($zaman / 604800);
 
 if($yil > 0 || $ay > 0 || $hafta > 0){
 
 if( typeof $hafta != 'undefined' && $hafta > 0){
 
 $sure += $hafta + " hafta, ";
 
 }

 $zaman -= $hafta * 604800;
 }

 $gun = Math.floor($zaman / 86400);
 
 if($ay > 0 || $hafta > 0 || $gun > 0){

 if( typeof $gun != 'undefined' && $gun > 0){
 
 $sure += $gun + " gün, ";
 
 }

 $zaman -= $gun * 86400;
 }

 $saat = Math.floor($zaman / 3600);
 
 if($hafta > 0 || $gun > 0 || $saat > 0){

 if( typeof $saat != 'undefined' && $saat > 0){
 
 $sure += $saat + " saat, ";
 
 }

 $zaman -= $saat * 3600;
 }

 $dakika = Math.floor($zaman / 60);
 
 if($gun > 0 || $saat > 0 || $dakika > 0){

 if( typeof $dakika != 'undefined' && $dakika > 0){
 
 $sure += $dakika + " dakika, ";
 
 }

 $zaman -= $dakika * 60;
 }

 if($sure == ""){

 $sure += Math.floor($zaman) + " saniye, ";

 }

 return $sure.substring(0,$sure.length - 2) + " önce ";
 }
 }
Js fonksiyonunda span'a php ile tarihi strtotime olarak data-gecen olarak gönderiyorum. Sayfa yüklendiğinde jQuery ile data-gecen değerini çekip setInterval ile 1 dk yada 30 sn'de fonksiyondan dönen değer yine data-gecen değerini aldığım spana html olarak yazdırıyorum.

Kolay gelsin.
Solid solid olalı böyle zulüm görmedi diyebiliriz :))))
@Funal bence bu fonksiyonları bir elden geçir. SOLID ile yazmaya çalış.
@Funal Eline sağlık, ama xsearch'e katılmadan edemedim.
xsearch yazdıSolid solid olalı böyle zulüm görmedi diyebiliriz :))))
@Funal bence bu fonksiyonları bir elden geçir. SOLID ile yazmaya çalış.
Kabul ediyorum berbat bir programcıyım. Galiba işi hobiden öteye taşımam lazım. Teşekkürler SOLID ile güncelleyip tekrar paylaşırım
Berbat programcı olmak ayrı şey, kodlama standartları ayrı şey.
Bide berbat programcılıkta üstüme tanımam :)))
Hepimiz berbat programcılarız. Bu işin üst seviyesi yok. Birbirimizin kodlarını sonuna kadar eleştirmeliyiz ki iyi şeyler ortaya çıkartalım. Çalışmalar GitHub üzerinden yürütülürse destek vermeye de çalışırız.
Eleştiriye açık olmak çok güzel birşey insan yaptığı hataları görüyor.
En kısa zamanda bir ambar oluşturacam.
Teşekkürler
24 gün sonra
bir ay sonra
PHP ile Carbon bunun için çok basit bir örnek sunuyor:

Örneğin;
echo Carbon::now()->subMinutes(2)->diffForHumans(); // '2 minutes ago'
Paketi incelemenizi tavsiye ederim, çoğu kez işimi oldukça kolaylaştırdı.
  • RRoni

      Seviye 43
    • Düzenlendi
    Buradaki bilgiye göre http://php.net/manual/en/class.datetime.php#108970 aşağıdaki fonksiyonu yazdım.
    <?php
    date_default_timezone_set('Europe/Istanbul');
    function timeAgo($date){
    	$now = new DateTime(date('Y-m-d H:i:s'));
    	$date = new DateTime($date);
    	$diff = $date->diff($now);
     $info = array(
     'y' => 'Yıl',
     'm' => 'Ay',
     'd' => 'Gün',
     'h' => 'Saat',
     'i' => 'Dakika',
     's' => 'Saniye'
    	);
    	
    	foreach ($info as $k => $vall) {
     if ($diff->$k) {
     return $diff->$k . ' ' . $vall;
     }
     }
    }
     
    echo timeAgo('2014-07-23 15:06:13');
    ?>