Sayfa Performans Sınıfı

PHP
32 lines
<?php
class performans{
var $basla;
var $bitir;
var $toplam;
function getir(){
$mtime = microtime();
$mtime = explode(" ", $mtime);
$mtime = doubleval($mtime[1]) + doubleval($mtime[0]);
return $mtime;
}
function basla(){
$this->basla = $this->getir();
}
function bitir(){
$this->bitir = $this->getir();
}
function yazdir(){
$basla = $this->basla;
$bitir = $this->bitir;
$toplam = sprintf("%.4f", abs($basla - $bitir));
return $toplam;
}
}
$p = new performans();
$p->basla();
for($x=0;$x<3300000;$x++)if($x%1000000 == 0)echo $x;
$p->bitir();
echo("<br>Sayfa toplam " . $p->yazdir() . " saniyede yüklendi");
?>
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Çıktısı

Markdown
2 lines
0100000020000003000000
Sayfa toplam 1.0591 saniyede yüklendi
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

 

İki Tarih Arasındaki Farkı Gün, Saat, Dakika ve Saniye Olarak Hesaplamak

PHP
20 lines
<?php
header('Content-Type: text/html; charset=utf-8');
date_default_timezone_set('Europe/Istanbul');
class tarihfarki{
public $tarih1, $tarih2, $a, $gun, $saat, $dakika, $saniye;
function __construct($tarih1, $tarih2){
$this->tarih1 = $tarih1;
$this->tarih2 = $tarih2;
$this->gun = intval((strtotime($this->tarih1) - strtotime($this->tarih2)) / 86400);
$this->a = ((strtotime($this->tarih1) - strtotime($this->tarih2))) % 86400;
$this->saat = intval(($this->a) / 3600);
$this->a = ($this->a) % 3600;
$this->dakika = intval(($this->a) / 60);
$this->a = ($this->a) % 60;
$this->saniye = $this->a;
}
}
$sonuc = new tarihfarki("01.01.2007 11:02:02", "20.12.2006 10:00:00");
echo $sonuc->gun . ' gün ' . $sonuc->saat . ' saat ' . $sonuc->dakika . ' dakika ' . $sonuc->saniye . ' saniye';
?>
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Çıktısı

Markdown
1 lines
12 gün 1 saat 2 dakika 2 saniye
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Bonus

Bulunduğunuz Yerin Saatini Öğrenmek için https://www.google.com.tr/search?q=between+time

Saat Farkı Eklemek veya Çıkarmak

PHP
13 lines
<?php
date_default_timezone_set('Europe/Istanbul');
class saatFark {
function saatAl($saatfark) {
$zamanayari = ($saatfark * 60 * 60);
return date("d.m.Y H:i:s",time() + $zamanayari);
}
}
$s = new saatFark();
echo $s->saatAl(0);//bugün
echo "<br>";
echo $s->saatAl(-24);//dün
?>
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Çıktısı

Markdown
2 lines
23.05.2018 22:11:09
22.05.2018 22:11:09
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

 

Datetime ve Time Dönüşümü ve Fark Alma

Ayrı ayrı veriyorum. version_compare ile birleştirebilirsiniz.

PHP 5.1  ve öncesi için

PHP
19 lines
<?php
$mysqldatetime="2015-01-29 01:47:00";
$sifirla = date_default_timezone_get();
date_default_timezone_set('Europe/Istanbul');
$dbdekizaman=strtotime($mysqldatetime);
date_default_timezone_set($sifirla );
$simdikizaman=time();
$simdikizamandatetime=date('Y\-m\-d\ H:i:s',$simdikizaman);
if($dbdekizaman < $simdikizaman){
echo "küçük";
}else{
echo "büyük";
}
echo $dbdekizaman-$simdikizaman;
?>
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Php 5.2 ve sonrası için

PHP
25 lines
<?php
$mysqldatetime="2015-01-29 02:05:00";
$zamanbol=explode(" ",$mysqldatetime);
$gunbol=explode(":",$zamanbol[1]);
$datetime = new DateTime($zamanbol[0]);
$datetime->setTimezone(new DateTimeZone('Europe/Istanbul'));
$datetime->setTime($gunbol[0],$gunbol[1],$gunbol[2]);
$dbdekizamandatetime=$datetime->format('Y\-m\-d\ H:i:s');
$dbdekizaman=$datetime->getTimestamp();
$time = new DateTime();
$time->setTimezone(new DateTimeZone('Europe/Istanbul'));
$simdikizamandatetime=$datetime->format('Y\-m\-d\ H:i:s');
$simdikizaman=$time->getTimestamp();
if($dbdekizaman < $simdikizaman){
echo "küçük";
}else{
echo "büyük";
}
echo $dbdekizaman-$simdikizaman;
?>
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX