İPUCU

Java Object Oriented Programming temeline dayanan, çok işlevli, step by step işleyen dilin dökümanlarının paylaşım alanı.

Seçenekler

Java Tarih Formatlama – TimeStamp String Dönüşümleri

15-09-2011 19:10
#1
Üyelik tarihi:
12/2010
Nereden:
Ankara
Yaş:
26
Mesajlar:
6.349
Teşekkür (Etti):
46
Teşekkür (Aldı):
1426
Konular:
4064
Ticaret:
(0) %
Bazen kullanıcıdan alınan formatlanmış ve string tipindeki (örn : 04.06.2010) tarihleri, özellikle veritabanı işlemlerinde, Unix Epoch (Unix TimeStamp) türüne çevirmek isteyebiliriz.

Ya da Unix TimeStamp türündeki sayısal değeri, insanların anlayabileceği bir forma dönüştürmek isteyebiliriz. Bu yazıda bu iki işlemin Java da nasıl yapılabileceğini anlatmaya çalışıcam.

Öncelikle Unix Epoch ( Unix TimeStamp) kavramının ne olduğuna bakmak gerekiyor.


Unix TimeStamp Nedir?

Unix TimeStamp, zamanı yönetmek için geliştirilmiş bir tarih sistemidir. Kısaca, 1 Ocak 1970 tarihinin gece yarısından bu yana geçen zamanın saniyeler cinsinden değeridir. Neden bu şekilde bir tarih sistemine ihtiyaç duyulmuş sorusuna verilebilecek en net yanıt, bilgisayar işlemcileri için sayısal değerler üzerinde işlem yapmanın çok daha kolay olmasıdır.

Unix TimeStamp sistemine bir örnek vermek gerekirse, 04.06.2010 tarihini kabaca 1275598800000 şeklinde long türünde bir tamsayı ile ifade edebiliriz. Burdaki uzun sayı, 1 Ocak 1970 den 4 Haziran 2010 a geçen zamanın saniyelerinin toplamıdır.

Neyse, bu kısa bilgiden sonra Java ile anlamlı String tipindeki tarih işlemleri ile Unix TimeStamp arasındaki dönüşümlere tekrar dönebiliriz.

Öncelikle String tipinde “dd.MM.yyyy” formatında bir tarih değerimiz olduğunu farzedelim.

Kod:
private String tarih = "04.06.2010";
Bu tarihi Unix TimeStamp değerine çevirmemiz için java.text.SimpleDateFormat sınıfına ihtiyacımız olacak. Bu sınıf ile, elimizdeki tarihin format yapısını tanımlayarak, TimeStamp değerini elde edebiliriz.

Kod:
String tarih = "04.06.2010";
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("dd.MM.yyyy");
 
//Parse methodu Date tipinde bir nesne döndürür
//Date nesnesinin getTime methodu ise Unix TimeStamp değerini verir
long unixTimeStamp =  simpleDateFormat.parse(tarih).getTime();
Şimdi, Unix TimeStamp şeklinde ifade edilen tarihi, insanların anlayabileceği bir formata sokalım. Yukarıdaki unixTimeStamp değişkenini aşağıdaki örnekte biçimlendirelim.

Kod:
String tarih;
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("dd/MM/yyyy");
tarih = simpleDateFormat.format(unixTimeStamp);
System.out.println(tarih);
//Çıktı
04/06/2010
Görüldüğü gibi TimeStamp türündeki değeri formatlamak ya da formatlanmış String tarihlerini TimeStamp biçimine çevirmek Java ile oldukça basit.


Bookmarks


« Önceki Konu | Sonraki Konu »
Seçenekler

Yetkileriniz
Sizin Yeni Konu Acma Yetkiniz var yok
You may not post replies
Sizin eklenti yükleme yetkiniz yok
You may not edit your posts

BB code is Açık
Smileler Açık
[IMG] Kodları Açık
HTML-Kodları Kapalı
Trackbacks are Kapalı
Pingbacks are Kapalı
Refbacks are Kapalı