forked from midorikocak/mtkocakPhpEgitimi
/
7-gecenZaman.php
75 lines (50 loc) · 2.55 KB
/
7-gecenZaman.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
<?php
/**
*
* Mtkocak PHP Eğitimi
* Bilişim ve İletişim Çalışanları
* Dayanışma Ağı
*
* Makine Mühendisleri Odası Beyoğlu Şubesi
* 15.06.2012
*
**/
// Bu biraz daha ileri fonksiyon örneğimizde PHP'nin zaman fonksiyonlarını kullanarak, herhangi bir tarihten, örneğin doğum tarihinizden bu yana, kabaca kaç yıl, kaç saat, kaç dakika, kaç saniye geçtiğini hesaplayacağız.
//Öncelikle fonksiyonumuzu oluşturalım
function neKadarZamanGecti($gun,$ay,$yil)
{
$ilkTarihSaniye = mktime(0,0,0,$ay,$gun,$yil); // Girilen tarih ile 1 Ocak 1970 arasındaki saniye farkını söyler. Bu fonksiyonla ilgili daha fazla bilgi http://www.koodla.com/2008/11/23/php-mktime-ile-zaman-islemleri/
$simdikiTarihSaniye = time(); // Şu andaki saniye ile 1 Ocak 1970 arasındaki saniye farkını söyler
//Bu iki değeri birbirinden çıkardığımızda, verilen tarihten bu zamana kadar ne kadar saniye geçtiğini hesaplayabiliriz.
$saniyeMiktari = $simdikiTarihSaniye-$ilkTarihSaniye;
//Geçen gün ay yıl saniye ve dakikayı bulmamız gerekiyor.
//Önce yılı hesaplayalım.
$birYilSaniye = (365*24*60*60);
$birAySaniye = (30*24*60*60); // Kolaylık olması açısından Ayları 30 gün olarak alıyoruz
$birGunSaniye = (24*60*60);
$birSaatSaniye = (60*60);
$birDakikaSaniye = 60;
$yil = floor($saniyeMiktari / $birYilSaniye); // Verilen saniyeyi yıllara böldük ve küsüratı attık.
$saniyeMiktari = $saniyeMiktari - ($yil*$birYilSaniye); //Şimdi Elimizde Aylar var
$ay = floor($saniyeMiktari / $birAySaniye);
$saniyeMiktari = $saniyeMiktari - ($ay*$birAySaniye); //Şimdi Elimizde Günler var
$gun = floor($saniyeMiktari / $birGunSaniye);
$saniyeMiktari = $saniyeMiktari - ($gun*$birGunSaniye); //Şimdi Elimizde Saatler var
$saat = floor($saniyeMiktari / $birSaatSaniye);
$saniyeMiktari = $saniyeMiktari - ($saat*$birSaatSaniye); //Şimdi Elimizde Dakikalar var
$dakika = floor($saniyeMiktari / $birDakikaSaniye);
$saniyeMiktari = $saniyeMiktari - ($dakika*$birDakikaSaniye); //Şimdi Elimizde Saniyeler var
//Kalan miktar sadece saniyelerdir.
$saniye = $saniyeMiktari;
$sonuc = array(
'yil'=>$yil,
'ay'=>$ay,
'gun'=>$gun,
'saat'=>$saat,
'dakika'=>$dakika,
'saniye'=>$saniye
);
return $sonuc;
}
//var_dump(neKadarZamanGecti(10,05,1984));
?>