İki Tarih Arasındaki Farkı Bulmak

PHP
59 lines
<?php
class ZamanFarkiHesapla{
var $damga1;
var $damga2;
function yilGetir($veri){
$sonuc=getdate($veri);
return ($sonuc['year']);
}
function gunGetir($damga){
$sonuc=getdate($damga);
return (($sonuc['yday'])+1);
}
function yilGun($year){
$sonuc=$this->gunGetir(strtotime("$year-12-31"));
return $sonuc;
}
function gecenYilGun($damga){
$year=$this->yilGetir($damga);
$sonuc=$this->gunGetir(strtotime("$year-12-31"));
return $sonuc;
}
function sonYilGunu($damga){
$gecen_yil_gun=$this->gecenYilGun($damga);
$gun_getir=$this->gunGetir($damga);
return ($gecen_yil_gun-$gun_getir);
}
function farkGetir($d1,$d2){
$ortala=0;
$this->damga1=strtotime($d1);
$this->damga2=strtotime($d2);
$yil1=$this->yilGetir($this->damga1);
$yil2=$this->yilGetir($this->damga2);
$fark=$yil2 - $yil1;
switch ($fark) {
case '0':
$gun1=$this->gunGetir($this->damga1);
$gun2=$this->gunGetir($this->damga2);
$sonuc=$gun2-$gun1;
break;
case '1':
$gun1=$this->sonYilGunu($this->damga1);
$gun2=$this->gunGetir($this->damga2);
$sonuc=$gun1+$gun2;
break;
case $fark>=2:
$gun1=$this->sonYilGunu($this->damga1);
$gun2=$this->gunGetir($this->damga2);
for( $i=(( $this->yilGetir($this->damga1) )+1);$i<( $this->yilGetir($this->damga2) );$i++ )
$ortala+=$this->yilGun($i);
$sonuc=$gun1+$gun2+$ortala;
break;
}
return $sonuc;
}
}
$dateDiff= new ZamanFarkiHesapla();
echo $dateDiff->farkGetir("1914-07-28","2018-06-05");//1.Dünya Savaşı
?>
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Çıktısı

Markdown
1 lines
37933
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

 

Değişik Stillerde Türkçe Tarih Gösterimi

PHP
75 lines
<?php
class tarih_tr{
function gun_tr($gun){
switch($gun){
case 0 : $gun = "Pazar";
break;
case 1 : $gun = "Pazartesi";
break;
case 2 : $gun = "Salı";
break;
case 3 : $gun = "Çarşamba";
break;
case 4 : $gun = "Perşembe";
break;
case 5 : $gun = "Cuma";
break;
case 6 : $gun = "Cumartesi";
break;
}
return $gun;
}
function ay_tr($ay){
switch($ay){
case 1 : $ay = "Ocak";
break;
case 2 : $ay = "Şubat";
break;
case 3 : $ay = "Mart";
break;
case 4 : $ay = "Nisan";
break;
case 5 : $ay = "Mayıs";
break;
case 6 : $ay = "Haziran";
break;
case 7 : $ay = "Temmuz";
break;
case 8 : $ay = "Ağustos";
break;
case 9 : $ay = "Eylül";
break;
case 10 : $ay = "Ekim";
break;
case 11 : $ay = "Kasım";
break;
case 12 : $ay = "Aralık";
break;
}
return $ay;
}
function hazirla($stil){
if(empty($stil) or $stil>4 or $stil<1){
$stil = 4;
}
if($stil==1){
$veri = date("d")."/".date("m")."/".date("y");
}elseif($stil==2){
$veri = date("d")."/".date("m")."/".date("Y");
}elseif($stil==3){
$veri = date("d")."/".date("m")."/".date("Y")." ".$this->gun_tr(date("w"));
}elseif($stil==4){
$veri = date("d")." ".$this->ay_tr(date("n"))." ".date("Y")." ".$this->gun_tr(date("w"));
}
return $veri;
}
}
$dt = new tarih_tr;
echo $dt->hazirla(1);
echo "<br>";
echo $dt->hazirla(2);
echo "<br>";
echo $dt->hazirla(3);
echo "<br>";
echo $dt->hazirla(4);
?>
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Çıktısı

Markdown
4 lines
30/05/18
30/05/2018
30/05/2018 Çarşamba
30 Mayıs 2018 Çarşamba
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

 

Tarihsel Aritmetik Matematik İşlemleri

PHP
28 lines
<?php
class Tarih{
function isle($tarih, $islemler, $ne = FALSE, $miktar, $sonuc = FALSE){
$hata = "<br>Uyarı! Tarih İşlemleri Başarısız ... ";
if(!$tarih || !$islemler) {
return "$hata geçersiz veya mevcut olmayan argümanlar<br>";
}else{
if(!($islemler == "cikar" || $islemler == "-" || $islemler == "topla" || $islemler == "+")) return "<br>$hata Geçersiz İşlem...<br>";
else {
list($gun, $ay, $yil) = explode("/", $tarih);
($islemler == "cikar" || $islemler == "-") ? $islem = "-" : $islem = '';
if($ne == "gun") $topla_gun = $islem."$miktar";
if($ne == "ay") $topla_ay = $islem."$miktar";
if($ne == "yil") $topla_yil = $islem."$miktar";
$tarih = mktime(0, 0, 0, $ay + @$topla_ay, $gun + @$topla_gun, $yil + @$topla_yil);
($sonuc == "timestamp" || $sonuc == "ts") ? $tarih = $tarih : $tarih = date("d/m/Y", "$tarih");
return $tarih;
}
}
}
}
$t = new Tarih;
echo $tarih = $t->isle("26/05/2018", "topla", "gun", "4");
echo "<br>";
echo $tarih = $t->isle("26/05/2018", "cikar", "gun", "4");
echo "<br>";
echo $tarih = $t->isle("26/05/2018", "topla", "ay", "4");
?>
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Çıktı

Markdown
3 lines
30/05/2018
22/05/2018
26/09/2018
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

Türkçe Tarih Formatlamak

PHP
22 lines
<?php
header('Content-Type: text/html; charset=utf-8');
class tr {
static function tarih($format='',$tarih=''){
$aylar = Array('Ocak','Şubat','Mart','Nisan','Mayıs','Haziran','Temmuz','Ağustos','Eylül','Ekim','Kasım','Aralık');
$gunler = Array('Pazar','Pazartesi','Salı','Çarşamba','Perşembe','Cuma','Cumartesi');
if($tarih== ''){$tarih=time();}
$ftarih = str_replace('D','#1', $format);
$ftarih = str_replace('l','#2', $ftarih);
$ftarih = str_replace('M','#3', $ftarih);
$ftarih = str_replace('f','#4', $ftarih);
$gun = $gunler[date('w', $tarih)];
$ay = $aylar[date('m', $tarih)-1];
$cikti = str_replace('#1',$gun, date($ftarih, $tarih));
$cikti = str_replace('#2',$gun, $cikti);
$cikti = str_replace('#3',$ay, $cikti);
$cikti = str_replace('#4',$ay, $cikti);
return($cikti);
}
}
echo tr::tarih('d M Y, D H:i:s');
?>
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Çıktısı

JavaScript
1 lines
23 Mayıs 2018, Çarşamba 20:38:10
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

 

Tarih ve Saat Dönüştürme Sınıfı

PHP
31 lines
<?php
date_default_timezone_set('Europe/Istanbul');
class TarihYonet {
public $girilen;
public $damga;
public $tarih;
public $zaman;#YYYY-MM-DD HH:MM:SS
function __construct($girilen) {
$this->girilen = trim($girilen);
if (preg_match("/^\d{4}-\d{2}-\d{2}$/", $this->girilen)) {
$tarihDizi = explode('-', $this->girilen);
$this->tarih = $this->girilen;
$this->damga = mktime(0, 1, 1, $tarihDizi[1], $tarihDizi[2], $tarihDizi[0]);
$this->zaman = date('Y-m-d H:i:s', $this->damga);
} else if (preg_match("/^\d{4}-\d{2}-\d{2} [0-2][0-3]:[0-5][0-9]:[0-5][0-9]$/", $this->girilen)) {
$parcala = explode(' ', $this->girilen);
$tarihDizi = explode('-', $parcala[0]);
$this->zaman = $this->girilen;
$this->damga = mktime(0, 1, 1, $tarihDizi[1], $tarihDizi[2], $tarihDizi[0]);
$this->tarih = date('Y-m-d', $this->damga);
} else {
$this->damga = $this->girilen;
$this->tarih = date('Y-m-d', $this->girilen);
$this->zaman = date('Y-m-d H:i:s', $this->girilen);
}
}
}
$ornek = new TarihYonet(time());
print_r($ornek);
?>
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Çıktısı

TarihYonet Object
(
    [girilen] => 1526461072
    [damga] => 1526461072
    [tarih] => 2018-05-16
    [zaman] => 2018-05-16 11:57:52
)

 

Belirli Bir Günden Önceki ve Sonraki Tarihleri Bulma

PHP
26 lines
<?php
class tarihbul{
public $tarih1, $yenitarih, $veri;
function __construct($tarih, $gun, $islem){
$this->tarih1 = $tarih;
switch ($islem){
case "+":
$this->veri = strtotime($tarih) + $gun * 86400;
break;
case "-":
$this->veri = strtotime($tarih) - $gun * 86400;
break;
}
$this->yenitarih = date("d.m.Y",$this->veri);
}
}
// Yarinı Bul
$sonuc = new tarihbul(date("d.m.Y"), "1", "+");
echo $sonuc->yenitarih."<br>";
// Dünü Bul
$sonuc = new tarihbul(date("d.m.Y"), "1", "-");
echo $sonuc->yenitarih."<br>";
// 13.05.2015'ten 50 gün sonrasını bul
$sonuc = new tarihbul(("13.05.2015"), "50", "+");
echo $sonuc->yenitarih."<br>";
?>
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Çıktısı

Markdown
3 lines
14.05.2018
12.05.2018
02.07.2015
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