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

PHP
51 lines
<?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;
?>
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Çıktısı

Markdown
3 lines
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
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

 

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

PHP
19 lines
<?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();
?>
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Çıktısı

PHP
2 lines
7fe03153
c65ebee1
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