Java'da Tarih İşlemleri

Java'da Tarih İşlemleri

Java’da tarih ile ilgili işlem yapmak için Date sınıfında faydalanırız. Date sınıfı belirli bir zaman değerini bir değişkene atamamızı ve üzerinde ekleme, çıkarma ya da dönüştürme gibi işlemler yapmamızı sağlar. Date sınıfını new Date() yapıcısıyla oluşturduğumuzda o anın tarihine ve saatine (kodun çalıştığı bilgisayarın saati) sahip bir zaman değişkenine sahip oluruz.
import java.util.Date;

public class DateOrnek1 {
    public static void main(String[] args) {

        Date simdikiZaman = new Date();
        System.out.println(simdikiZaman.toString());
    }
}

Bir zamanın, UNIX Timestamp değerini öğrenmek için getTime metodunu kullanabilirsiniz.
import java.util.Date;

public class DateOrnek2 {
    public static void main(String[] args) {

        Date now = new Date();
        System.out.println(now.toString());
        System.out.println("Timestamp : " + now.getTime());
    }
}

NOT: UNIX Timestamp, 1 Ocak 1970 00:00 tarihinden bu yana geçen zamanın milisaniye cinsinden değeridir. Eğer tarihi farklı bir şekilde ekrana yazmanız gerekirse, SimpleDateFormat sınıfından yardım alabilirsiniz. Bir Date değişkenini son kullanıcının anlayabileceği bir formatta yazdırmak için kullanılan SimpleDateFormat, aynı zamanda kullanıcının elle girdiği bir tarihi Date değişkenine çevirebilir. Aşağıdaki örnekte zaman bilgisi, tarih yıl - ay - gün olarak yazdırılıyor.

import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;

public class DateOrnek3 {
    public static void main(String[] args) throws ParseException {

        Date simdikiZaman = new Date();
        System.out.println(simdikiZaman.toString());
        DateFormat df = new SimpleDateFormat("yyyy/MM/dd");
        System.out.println(df.format(simdikiZaman));
    }
}
Eğer yine aynı formatta bir tarihi (örneğin 1984/01/01) Date tipinde bir değişkene atamak isterseniz parse metodundan faydalanabilirsiniz. Bu metod verilen bir String tarih değerini Date tipine çevirecektir. Eğer çevirme işlemi başarısız olursa ParseException fırlatılır.
NOT: Hata fırlatma konusu için try / catch / finally bloklarının anlatıldığı Java’da olağan dışı durumlar konusuna göz atabilirsiniz.
import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;

public class DateOrnek4 {
    public static void main(String[] args) throws ParseException {

        Date simdikiZaman = new Date();
        System.out.println(simdikiZaman.toString());

        DateFormat df = new SimpleDateFormat("yyyy/MM/dd");
        Date tarih = df.parse("1984/01/01");
        System.out.println(tarih);
    }
}
DateFormatter ile kullanabileceğiniz diğer tanımlar aşağıdaki şekildedir:
HarfTemsil ettiği parçaÖrnek
yYıl1996; 96
MYıl içinde ayJuly; Jul; 07
wYıl içinde hafta27
WAy içinde hafta2
DYıl içinde gün189
dAy içinde gün10
FAy içinde haftanın günü2
EHaftanın günüTuesday; Tue
aSabah/akşamPM
HGün içinde saat (0-23)0
kGün içinde saat (1-24)24
KSabah/akşam için saat (0-11)0
hSabah/akşam için saat (1-12)12
mSaat içinde dakika30
sDakika içinde saniye55
SMilisaniye978
Son olarak tarih içerisinde belli bir günü bir değişkene atamak için Java bizlere Calendar adında bir sınıf sunar. Bu sınıf sayesinde tarih akışı içinde herhangi bir güne ulaşabiliriz.
Aşağıda 1 Ocak 1984 tarihini temsil eden bir değişken tanımlaması yapılmıştır.
import java.util.Calendar;
import java.util.Date;
import java.util.GregorianCalendar;

public class DateOrnek5 {
    public static void main(String[] args) {

        Calendar takvim = new GregorianCalendar(1984, 01, 01);
        Date tarih = takvim.getTime();
        System.out.println(tarih.toString());
    }
}

Yorumlar

Bu blogdaki popüler yayınlar

İç İçe Döngüler

CSS Bir Elemanın Genişliği ve Yüksekliği

JavaScript Dilinde Fonksiyon Çağırma Teknikleri