Sayfa veya Kod Çalışma Zamanı Hesaplama Sınıfı

<?php
class zamanlayici{
var $baslamaZamani;
var $durmaZamani;
var $tip;
	function basla(){
		$this->baslamaZamani=explode(" ", microtime());
	}
	function durdur()
	{
		$this->durmaZamani=explode(" ", microtime());
	}
	function sonuc()
	{
		$saniye=$this->durmaZamani[1]-$this->baslamaZamani[1];
		$mikro=$this->durmaZamani[0]-$this->baslamaZamani[0];
		$sonuc=(($saniye+$mikro)*1000000);
		if($sonuc < 1000){
			$this->tip="mikrosaniye";
			return number_format($sonuc,0);
		}elseif($sonuc < 1000000){
			$this->tip="milisaniye";
			return number_format($sonuc*0.001,3);
		}elseif($sonuc < 1000000000){
			$this->tip="saniye";
			return number_format($sonuc*0.000001,6);
		}
		
	}
}
//1 saniye = 1.000.000 mikrosaniye
//1 saniye = 1.000 milisaniye
$timer=new zamanlayici;
echo "echo() fonksiyonu testi:";
$timer->basla();
echo "Testin çalıştırılmasında geçen süre: ";
$timer->durdur();
echo $timer->sonuc()." ".$timer->tip;
echo "<br>";
echo "print() fonksiyonu testi:";
$timer->basla();
print "Testin çalıştırılmasında geçen süre: ";
$timer->durdur();
print $timer->sonuc()." ".$timer->tip;
echo "<br>";
echo "html alanına geçiş testi:";
$timer->basla();
?>Testin çalıştırılmasında geçen süre: <?php
$timer->durdur();
print $timer->sonuc()." ".$timer->tip;
?>

Çıktısı

echo() fonksiyonu testi:Testin çalıştırılmasında geçen süre: 31 mikrosaniye
print() fonksiyonu testi:Testin çalıştırılmasında geçen süre: 23 mikrosaniye
html alanına geçiş testi:Testin çalıştırılmasında geçen süre: 22 mikrosaniye

 

Zamana ve Eklere Göre Rastgele Şifre Üretme Sınıfı

<?php
class sifreUret{
  var $gecici;
  function sifreUret($uzunluk=6, $ek="kelime"){
    $sifre=$ek.date("s:H:m:i:s");
    $this->gecici=substr(md5($sifre), 2, $uzunluk);
  }
  function get_sifre(){
    return $this->gecici;
  }
}

$p=new sifreUret();
$p->sifreUret(8);           
print $p->get_sifre();
echo "<br>";
$p->sifreUret(8, "benimkelimem");           
print $p->get_sifre();
?>

Çıktısı

7fe03153
c65ebee1

 

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
$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;

?>

Php 5.2 ve sonrası için

<?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;

?>