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

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