13 Ekim 2016 Perşembe

SimpleDateFormat Sınıfı

Giriş
Şu satırı dahil ederiz.
import java.text.SimpleDateFormat;
SimpleDateFormat hem saat dilimini hem de locale formatı bilgisine sahiptir. Bu sınıf abstract olan DateFormat sınıfından kalıtır. Şu satırı dahil ederiz.
import java.text.DateFormat;
Şöyle yaparız.
DateFormat df = new SimpleDateFormat("...", Locale.US);
constructor - Pattern
1. Kullanılan karakterler şunlar
yyyy : Yıl
MM : Ay
dd : Gün
HH : 24 saat
mm : Dakika
ss : Saniye
SSS : Milisaniye

Hepsini kullanarak şöyle yaparız.
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS");
2. Tek tırnak içindeki karakterler
Belirtilen karakterler dikkate alınmaz. Genelde tarih ile ilgili olmayan gereksiz kısımlar süzmek için kullanılır.
SimpleDateFormat sdf = new SimpleDateFormat("yyyy.MM.dd G 'at' HH:mm:ss");
Date date = format.parse("2016.02.05 AD at 23:59:30");
constructor - Pattern + Locale
Format yanında Locale kullanılabilir. Şöyle yaparız.
SimpleDateFormat sdf = new SimpleDateFormat("...", Locale.US);
Şöyle yaparız
SimpleDateFormat sdf = new SimpleDateFormat("...", Locale.ENGLISH);
Şöyle yaparız
SimpleDateFormat sdf = new SimpleDateFormat("...",Locale.getDefault());
format metodu - Date
Belirtilen Date nesnesini string'e çevirir. Şöyle yaparız.
DateFormat sdf = new SimpleDateFormat("...");
Date date = new Date();
sdft.format (date);
Sadece gün-ay-yılı göstermek için şöyle yaparız.
Date date = ...;
SimpleDateFormat sdf = new SimpleDateFormat("dd MMMM yyyy");
sdf.format (date);
Sadece saati göstermek için şöyle yaparız.
Date date = ...;
SimpleDateFormat sdf = new SimpleDateFormat("HH:mm:ss");
sdf.format (date);
Calendar ile çalışmak için şöyle yaparız.
Calendar c = Calendar.getInstance();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
dff.format (c.getTime());
getDateInstance metodu
Şöyle yaparız.
DateFormat df = DateFormat.getDateInstance(DateFormat.SHORT, Locale.getDefault());
Ya da belli bir locale veririz.
DateFormat df = DateFormat.getDateInstance(DateFormat.SHORT, Locale.GERMANY);
parse metodu
Belirtilen string'i tekrar Date nesnesine çevirir. ParseException atabilir. Şu satırı dahil ederiz.
import java.text.ParseException;
Şöyle yaparız.
String myDob= "16/01/1989";
SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy");
Date date = null;
try {
  date = sdf.parse (myDob);
} catch (ParseException e) {
  // handle exception here !
}
setLenient metodu
Şöyle yaparız.
format.setLenient (false);
setTimeZone metodu
parse edilecek saat, sistem saat diliminden farklı ise önce saat dilimini atarız.
sdf.setTimeZone (TimeZone.getTimeZone("America/New_York"));
GMT'ye göre formatlamak için şöyle yaparız.
DateFormat sdf = new SimpleDateFormat("yyyy-MM-dd/hh-mm z");
sdf.setTimeZone (TimeZone.getTimeZone("GMT"));
UTC'ye göre formalamak için şöyle yaparız.
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss");
sdf.setTimeZone (TimeZone.getTimeZone("UTC"));
Daha sonra string'i parse ederiz.
SimpleDateFormat isoFormat = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss");
isoFormat.setTimeZone (TimeZone.getTimeZone("UTC"));
Date date = isoFormat.parse ("2010-05-23T09:01:02");
toPattern
İmzası şöyle
public String toPattern()
Açıklaması şöyle
Returns a pattern string describing this date format.
Şöyle yaparız.
SimpleDateFormat df = ...;
SimpleDateFormat df2 = new SimpleDateFormat(df.toPattern().replace("yy", "yyyy"));

Hiç yorum yok:

Yorum Gönder