• Web sitemizin içeriğine ve tüm hizmetlerimize erişim sağlamak için Web sitemize kayıt olmalı ya da giriş yapmalısınız. Web sitemize üye olmak tamamen ücretsizdir.
  • Sohbetokey.com ile canlı okey oynamaya ne dersin? Hem sohbet et, hem mobil okey oyna!
  • Soru mu? Sorun mu? ''Bir Sorum Var?'' sistemimiz aktiftir. Paylaşın beraber çözüm üretelim.

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

Üyelik Tarihi
7 Ocak 2015
Konular
4,091
Mesajlar
4,274
MFC Puanı
40
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