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

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