Bazen farklı bir formatta aldığımız tarih bilgisini, farklı bir formata çevirmemiz gerekir. Bunun için ya PHP'nin list() fonksiyonunu ya da data_parse() fonksiyonunu kullanıp çeşitli işlemler yapmışızdır(ki daha pek çok yöntemi de vardır).
Bu yazıda, strftime() fonksiyonunu kullanıp tarihimizi nasıl istediğimiz formata çevireceğimizi anlatmaya çalışacağım.
Sözdizimi
string strftime(string tarih_formatiniz [, int tarih ])
Sözdiziminde de görüldüğü gibi fonksiyonun ikinci parametresi kullanmak zorunda değiliz. Şayet kullanmazsak, belirtilen formata uyacak şekilde o anki tarihi döndürür. Ayrıca, opsiyonel olarak setlocale() fonksiyonunu kullanarak yerel ayarlara göre sonuç döndürmesini sağlayabilirsiniz(Örneğin ay ve/veya günü Türkçe olarak yazdırabiliriz). Ancak setlocale() fonksiyonu, IIS veya Windows işletim sistemi üzerinde Apache kullanıyorsanız çalışmayacaktır. setlocale() fonksiyonu bu yazının konusu olmadığından, PHP'nin çevrimiçi dökümantasyonundan konu hakkında ayrıntılı bilgi alabilirsiniz.
Kullanımı
Bu kadar konuştuktan sonra örneğimize geçelim :) Aşağıdaki örneğimizde, "Mon Mar 17 08:18:01 2008" formatındaki tarihimizi "2008-03-17 08:18:01" şeklinde yazdıracağız.
<?php
$formatlanacak_tarih = "Mon Mar 17 08:18:01 2008";
$yeni_tarih = strftime("%Y-%m-%d %H:%M:%S", strtotime($formatlanacak_tarih));
echo $yeni_tarih;
?>
strtotime() fonksiyonu, karakter katarı(string) tipindeki değeri, UNIX Timestamp* tarih biçimine çevirir.
Şu sıralar CodeIgniter'dan vazgeçip, Symfony'yi incelemeye başladım. Symfony, 2005 yılından beri geliştirilen, açık kaynaklı PHP MVC(Model-view-controller) framework'ü. Evet, başlangıç için gereğinden fazla basit bir açıklama olsa da Yahoo! geliştiricilerinin projeye destek verdiğini ve güzide sosyal imleme servisi del.icio.us'ın yeni versiyonunda Symfony'den yararlandıklarını söyleyerek projenin yeteneklerini bir nebze anlatabileceğini umuyorum.
Veritabanı işlemlerini, bir O/RM(Object/Relational Mapping, ORM, O/R mapping) frameworkü olan Propel yardımıyla gerçekleştiriyoruz. O/RM, ilişkisel veritabanlarında(RDBMS) bulunan tablolar ile uygulama tarafında bulunan nesnelerin biribiriyle ilişkilendirilmesine verilen bir terimdir. O/RM için, pek çok ihtimal göz önünde bulundurularak hazırlanmış frameworkler bulunmaktadır(Java platformu için Hibernate, .Net platformu için NHibernate ve LINQ) ancak megolamaninin sınırlarında gezen biriyseniz kendi frameworkünüzü de yazabilirsiniz. O/RM araçları, MVC hiyerarşisinde persistence layer(veri erişim katmanı) olarak adlandırılırlar. Fazla uzatmadan, O/RM araçlarının görevlerini(yani Symfony için Propel'in) şöyle açıklayabiliriz: Uygulama tarafında ilişkilendirdikleri(buna mapping diyorlar) nesneler arasında veri aktarımını, geliştiriciyi SQL sorgularıyla vs. uğraştırmadan sağlar.
Ayrıca, çok methedilen dökümantasyonunun pek okunabilir olduğunu söyleyemem. Bir süre sonra gözü epey yoruyor. Bunun yerine Symfony'yi yakından tanımak için hazırlanan örnek "My First Project"'i indirip incelemek daha faydalı olabilir.
Yazının devamını okumak için tıklayın.
Şampiyonlar Ligi'nde son çeyrek finalist ilk maçı 2-0 kazanan Liverpool oldu. Gol, son haftalarda sıkça gördüğümüz üzere 68. dakikada Fernando Torres'den geldi.
İlk yarıda Inter'i o kadar istekli görünce, ikinci yarıda maçı alır diyordum ama Nicolas Burdisso sağolsun, ipini çekti İtalyanların. Inter taraftarlarının maç sonundaki hareketleri tüylerimi diken diken etti, tebrik ediyorum.
Liverpool, Avrupa'da başka oynuyor ama son dört sezonda üçüncü kez finale çıkmaları bu kadroyla pek olası değil. Rafa amca takımda kalırsa, iki kanat oyuncusu ve bir sağ bekle seneye kupaları toplar.
Fernando Torres böyle giderse 2-3 sezon içinde Robbie Fowler mertebesine ulaşır Liverpool taraftarlarının kalbinde.
Blog açılalı henüz bir hafta olsa da bu kısa sürede, ilk yazımda bahsettiğim gelişim sürecinde farketmediğim hatalar ve eksiklikler ortaya çıktı. Not ettiklerimi bugün itibariyle düzelttim. Bir de geliştirici kısmının, "tasarım tercihi" dediği hatalar var ki sormayın gitsin :)
Bu hafta içerisinde lab'ı da biraz elden geçirip daha işe yarar hale getirmeyi düşünüyorum. Belki MediaWiki'yi sisteme adapte ederim.
Ayrıca şu sıralar Mark Knopfler ve Metallica kafamı karıştırmakla meşguller. İkisi de "ölmeden önce gidilmesi gereken konserler" listesinde ama görünen o ki birini seçmem gerekecek. Tabii gönül Iron Maiden ister ama o başka bir yazının konusu olsun :)
Bu aralar boş zamanımı İkinci Dünya Savaşı hakkında kitaplar okuyarak geçiriyorum. Bunlardan biri olan "Panzer Birlikleri" hakkında dilim döndüğünce bir şeyler karalamak istiyorum.
Panzerlerin İkinci Dünya Savaşı boyunca kazandıkları başarıların ana nedeni; modası geçmiş süvari, piyade ve topçu prensiplerini hiçe sayması ve cephede bağımsız kararlar alması sayesinde, süratli mevki değiştirebilmeleri ve düşmanı sürprizlerle yanıltabilmeleriydi.
Ama ego ve megolamaninin sınırlarında gezen Adolf Hitler'in intihar derecesindeki emirleri, henüz hazır olmayan tank endüstrisi, erken kazanılan başarılar neticesinde Panzerlere duyulan aşırı güven ve -özellikle- düzensiz ikmal hatları nedeniyle yenilgileri kaçınılmaz oldu.
Kastaş Yayınları'nın, İkinci Dünya Harbi Belgeseli serisi altında yayımladığı K.J. Macksey MC tarafından kaleme alınan bu harika kıtabı, Panzer Birlikleri'nin zaferleri ve yenilgilerini objektif bir bakış açısıyla okumak isteyen her tarih meraklısına rahatlıkla tavsiye edebilirim.
Ayrıca, konuya ilgi duyanlar için Kastaş Yayınları'nın İkinci Dünya Harbi Belgeseli kitapları da okunmaya değer eserler.
Kitap hakkında ayrıntılı bilgi almak ve satın almak için:
ipucu javascript php yaptıklarım
Yayımlanan yazılar, kaynak gösterildiği müddetçe kullanılabilir.
Yapılan yorumların sorumluluğu yazarına aittir.