Skip to main content
Java'da Date (Tarih) işlemleri

Java’da Date İşlemleri

Merhaba arkadaşlar;

Bugünkü yazımızda çok küçük ama gerektiğinde hayat kurtaracak bir kod bloğunu sizlerle paylaşacağım.

Android / Java uygulamaları geliştirirken , çeşitli aşamalarda Tarih İşlemleri kullanma ihtiyacı duyarız. Tarihe erişmek kolay olabilirken, belli bir tarihten öncesi veya sonrasının hesaplanması, tarih ile karşılşaltırma işlemleri, tarihi istenilen biçimde yazmak gibi çeşitli kullanımlarda ise takılıp kalabiliyoruz. Aşağıda çeşitli durumlara karşın kullanabileceğimiz birbirinden yararlı tarih işlemlerine ait kod parçacıkları bulabilirsiniz.

Tarih Biçimlendirme
public class DateExamples{ 

    // Mevcut Tarihi almak
    public Date getNowAsDate() {
        return new Date();
    }

    // Mevcut Tarihi GÜN - AY -YIL formatında almak
    public String getFormattedTime() {
        SimpleDateFormat sdf = new SimpleDateFormat("dd-MM-yyyy");
        String currentDate = sdf.format(new Date());
        return currentDate ;
    }

    // Mevcut Tarihi AY/GÜN/YIL formatında almak
    public String getFormattedTime() {
        SimpleDateFormat sdf = new SimpleDateFormat("MM/dd/yyyy");
        String currentDate = sdf.format(new Date());
        return currentDate ;
    }

}
String Tarihi Date formatına dönüştürmek
public class DateExamples{ 

    // Mevcut Tarihi almak
    public Date parseDateFromString(String myStringDate) {
        // myStringDate değişkeninin 20/02/1992 olduğunu düşünelim
        SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy"); // Burada stringin formatını belirtmeliyiz
        Date date= sdf.parse(myStringDate);
        return date ;
    }

}
Belirli bir tarih sonrası ve öncesini hesaplamak
public class DateExamples{ 

    // Belirtilen tarihten 1 gün öncesinin tarihini Date olarak almak
    public Date findYesterdayAsDate(String myStringDate) {

        // myStringDate değişkeninin 20/02/1992 olduğunu düşünelim
        SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy"); // Burada stringin formatını belirtmeliyiz
        Calendar c = Calendar.getInstance();
        c.setTime(sdf.parse(myStringDate));
        c.add(Calendar.DATE, -1);  // burada stringten parse ettiğimiz DATE objecti için gün ekleyip çıkarabiliriz

        // şu an ki örneğimizde -1 diyerek 1 gün öncesini buluyoruz
        Date yesterday= sdf.format(c.getTime()); // dünün tarihine artık date object i olarak sahibiz
        return date ;
    }

    // Belirtilen tarihten 1 gün sonrasının tarihini Date olarak almak
    public Date findYesterdayAsDate(String myStringDate) {

        // myStringDate değişkeninin 20/02/1992 olduğunu düşünelim
        SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy"); // Burada stringin formatını belirtmeliyiz
        Calendar c = Calendar.getInstance();
        c.setTime(sdf.parse(myStringDate));
        c.add(Calendar.DATE, 1);  // burada stringten parse ettiğimiz DATE objecti için gün ekleyip çıkarabiliriz

        // şu an ki örneğimizde 1 diyerek 1 gün sonrasını buluyoruz
        Date tomorrow = sdf.format(c.getTime()); // yarının tarihine artık date object i olarak sahibiz
        return date ;
    }

    // Belirtilen tarihten 1 hafta sonrasının tarihini Date olarak almak
    public Date findOneWeekLaterAsDate(String myStringDate) {

        // myStringDate değişkeninin 20/02/1992 olduğunu düşünelim
        SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy"); // Burada stringin formatını belirtmeliyiz
        Calendar c = Calendar.getInstance();
        c.setTime(sdf.parse(myStringDate));
        c.add(Calendar.DATE, 7);  // burada stringten parse ettiğimiz DATE objecti için gün ekleyip çıkarabiliriz

        // şu an ki örneğimizde 7 diyerek 7 gün sonrasını yani 1 hafta sonrasını buluyoruz
        Date tomorrow = sdf.format(c.getTime()); // yarının tarihine artık date object i olarak sahibiz
        return date ;
    }

    // Yukardaki bloklarda kullandığımız Date objecti String olarak istediğimiz
    // formatta yazdırabilmek için kullanabileceğimiz fonksiyon
    public String getFormattedTime(Date date) {
        SimpleDateFormat sdf = new SimpleDateFormat("dd-MM-yyyy");
        String currentDate = sdf.format(date);
        return currentDate ;
    }

}
Date lerin karşılaştırılması
public class DateExamples{ 

    // İki tarihi karşılatırmak hangisinin önce / sonra olduğunu bulmak
    public Date findLatestDay () {

        String myBirthDay= "20/02/1992";
        String myWifeBirthDay = "04/09/1993";
        SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy"); // Burada stringin formatını belirtmeliyiz

        Date myBirthDate = sdf.parse(myBirthDay);
        Date myWifeBirthDate= sdf.parse(myWifeBirthDay);

        //after() ve before() ile iki tarihin birbiri arasında öncelik ve sonralık
        // ilişkisini bulabilirz
        if (myBirthDate.after(myWifeBirthDate)) {

            //Eğer benim doğum tarihim eşimin doğum tarihinden sonraysa,
            // benim doğum tarihimi döndür
            return myBirthDate ; 
        } else {

            //Eğer eşimin doğum tarihi benim doğum tarihimden sonraysa,
            // eşimin doğum tarihimi döndür
            return myWifeBirthDate ; 
        }
    }

}

Umarım JAVA da Date işlemleri başlıklı yazımı yararlı bulmuşsundur. Konu ile ilgili her türlü soru, öneri isteklerinizi yorum kısmında belirtebilirsiniz. Teşekkürler..

Bir Cevap Yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir