Neler yeni
Türkiye'nin En Güncel Forum Sitesi

Forum içeriğine ve tüm hizmetlerimize erişim sağlamak için foruma kayıt olmalı yada giriş yapmalısınız. Forum üye olmak tamamen ücretsizdir.

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

ByOnur58

Kayıtlı Üye
MFC Üyesi
  • Üyelik Tarihi
    7 Ocak 2015
  • Mesajlar
    2,113
  • MFC Puanı
    10
  • MFC Seviyesi

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.
 
Üst Alt