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

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