23 Ağustos Perşembe ´12   —   5 Yorum
Daha önce php'de iki tarihi karşılaştırmayı anlatmıştımhttp://mfyz.com/phpde-tarih-karsilastirma ancak iki tarih arasındaki ay, gün, yıl farkını kullanmanız gerektiğinde, php'nin tarih-zaman sınıfını kullanarak iki tarih arasındaki zaman farkını istediğiniz periyodda hesaplatabilirsiniz.

Bu yönetmle hesaplayacağınız tarih farkının iki genel kullanımı vardır. Birincisi hesaplamalarınızda iki tarih arasındaki geçen zamana göre yaptığınız bir kuralınız vardır. Mesela bir blog yazınızın 1 aydan önce yazıldığını denetlemek ve buna göre "Bilgiler geçerliliğini yitirmiş olabilir" gibi bir not göstermek istiyorsunuz. Bunun için şu an ile yazının yazılma tarihi arasında 1 ay olup olmadığını sorgulayabilirsiniz.

Bu hesaplama aslında basit bir matematiksel bir hesap gibi görünse de aslında ay uzunluğu, artık yıl hesabı gibi nedenlerden dolayı ve her zaman 1 ay = 30 gün olmaması nedeniyle biraz daha karışık olabiliyor. Dolayısıyla anlattığım yöntem gibi hazır yöntemleri kullanarak bu hesaplamaları doğru şekilde yapabilirsiniz.

Şimdi basit bir kod ile örnekleyeceğim.
$now     = new DateTime();
$created = new DateTime($_entry['created_at']);
$diff    = date_diff($now, $created);
$days    = $diff->format('%d');
$hours   = $diff->format('%h');
$mins    = $diff->format('%i');

$diffStr = NULL;
if ($days > 0) {
     $diffStr .= $days . ' gün';
}
if ($hours > 0) {
     $diffStr .= ' ' . $hours . ' saat';
}
if ($mins > 0) {
     $diffStr .= ' ' . $mins . ' dakika';
}
Yukarıdaki kodda $diffStr değişkeni, yazınızın kaç dakika, saat, gün önce eklendiğini gösterecektir. Eğer isterseniz ayı, yılı da ekleyerek herhangi bir tarih formatını "3 gün 8 saat 3 dakika önce" şeklinde bir metine çevirebilirsiniz.


Web Programcıları İçin Temel JavaScript Bilgisi




Birşey Yazdırmak?

Javascript'de ekrana (sayfaya) birşey yazdırmak için document.write(); kullanılır. document.write(degisken_adi); veya document.write("Yazilacaklar"); seklinde kullanilir.

Hata Çıktısı, PopUp Açmak?

Eğer bir hata çıktısı vermek istiyorsak genelde alert(); fonksiyonu ile popup mesaj gösterebiliriz.
alert(degisken_adi);
// veya 
alert("Hata Yaptınız!");
şeklinde kulanılır.

Nesneler

Javascript'de nesneler üzerinde çalıştığımız elemanlar veya değerlerdir. Mesela bir form elemanını kodlarımızda adresleyerek nesne şeklinde kullanırız, ya da yaptığımız matematiksel işlemlerde değişkenlerimizi bazı nesne kullanırız.
Javascriptte fonksiyonlar kadar nesne özellikleri ile de çalışılır. Zaten çoğu nesne, fonksiyon şeklindedir. Sadece kulalnımı farklıdır.
Bunlara ayrıntılı olarak bakalım :


String nesnesi
string.bold()                string'i <b> </b> etiketi içine alır.
string.charAt(x)             string'deki x indeksli karakteri verir.
string.fontsize(buyukluk)    string'i <font size="buyukluk"> </font> etiketleri içine alır.
string.indexOf('aranan',x)   string'de x indeksli karakterden baslayarak 'aranan'
                               yazısını arar. x girilmezse en baştan arama yapar.
                               İlk bulunan noktanın indeksi döner eğer bulunamazsa -1 döner.
string.italics()             string'i <i> </i> etiketi içine alır.
string.split('ayrac')        string'i 'ayrac' ayracı ile diziye parçalar.
string.substring(x1,x2)      string'de x1 ile x2. indeks arasinda kalan parcayi verir.
string.toLowerCase()         string'i küçük harfe çevirir.
                             Aynı özelliğin tersi ise toUpperCase()'dir.
Örnek Kullanım :
var ad;
ad='Fatih';
document.write(ad.indexOf('ti')) // çıktı 2 olacaktır.
document.write(ad.toLowerCase()) // çıktı 'fatih' ..
...
Date nesnesi
getTime()     1 ocak 1970 00:00:00 tarihinden bu yana geçen saniyeyi verir.
getYear()     İçinde bulunulan yıldan 1900'ün farkını sayısal verir.
getMonth()    0-11 arasında ay indeksi verir.
getDate()     1-31 arasında gün indeksi verir.
getDay()      0-6 arasında haftanın günü indeksi verir.
getHours()    0-23 arasında saat
getMinutes()  0-59 dakika
getSeconds()  0-59 saniye
Örnek Kullanım :
var zaman;
zaman=new Date;
var gunler=new Array('Pazar','Pazartesi','Salı','Çarşamba','Perşembe','Cuma','Cumartesi');
document.write('Bugün '+gunler[zaman.getDay()]+', saat '+zaman.getHours()+':'+zaman.getMinutes());
// örnek çıktı : "Bugün Çarşamba, saat 15:39" şeklinde olacaktır.
Math nesnesi
Math.abs(x)     x'in mutlak değeri
Math.acos(x)    arccos(x) değeri
Math.asin(x)    arcsin(x)   "
Math.atan(x)    arctan(x)   "
Math.cos(x)     cos(x)      "
Math.sin(x)     sin(x)      "
Math.tan(x)     tan(x)      "
Math.PI         Pi sayısını verir
Math.exp(x)     e'nin x'inci kuvveti
Math.floor(x)   x'in küsüratını bir alt tamsayıya yuvarlar
Math.log(x)     log(x) değeri
Math.max(x,y)   x ve y arasında büyük olanı verir.
Math.min(x,y)   x ve y arasında küçük olanı verir.
Math.pow(x,y)   x'in y-inci kuvveti
Math.random()   0-1 arasında rastgele kesirli sayı üretir.
Math.round(x)   x'in değerini hangi tamsayıya yakınsa ona yuvarlar
Math.sqrt(x)    x'in karekökünü verir.
Örnek Kullanım :
var sonuc,x;
// f(x)=(x^tan(9x))+15/x fonksiyonu için f(5)'i hesaplatalım.
x=5;
sonuc=Math.pow(x,Math.tan(5*x))+(15/x);
document.write(sonuc);
// sonuc 8 olacaktır.
Temel JavaScript (4) - Zamanlayıcılarla çalışmak dökümanından devam edin.



Hazırlayan : Mehmet Fatih YILDIZ

Popüler Etiketler

ubuntu cache language google social network app facebook developer twitter calendar media tool less bootstrap css css3 html5 macosx apple osx player ui ux login webkit form compile nedir session cookie firefox download blog rss html iOS php framework coding startups input textarea select api generator iphone web app open source mail newsletter subscription ipad cms lisans laptop notebook sql mysql export connect box mfyz design javascript ipucu url konsol terminal editor apache server mobile www subdomain redirect crossdomain job opengraph optimization fql browsers support ide phpstorm jetbrains deployment version control svn git service lifestream parse xml icons compiler windows linux on-the-fly license icon ikon grafik xhtml ruffles wanda oyun button jquery wordpress htaccess mootools kurulum nasıl table örnek kod signature imza kitap sosyal spam development dokuman js regex auth http link music xmlhttprequest ajax ios app store store in-app purchase purchase verification integration storekit itunes connect itunes query injection zaman logo db database free graph share pear mdb2 mssql pgsql route router mod_rewrite optimizasyon analyse procedure medya istatistik statistics prepare execute portfolio while workspace tebrik insanlar style pharma hack seo subversion plugin screen internet ie browser doritos tytz object sitemap date tarih kontrol yapıları if proje internet explorer gimp howto kampanya fstab ntfs chart widget search meta banner wireless code switch assets radio applications diff digital