2008-09-19 9 views
10

Java'da geçerli bir tarih damgası oluşturmanın en iyi yolu nedir?Java'da geçerli bir tarih bilgisi oluştur

YYYY-AA-GG: ss mm ss

+0

"bir veritabanı kullanmıyorsanız zaman"? Ne?? Geçerli saati almak için normalde bir veritabanı mı sorgulıyorsunuz? –

+0

Bu biçimde bir Dize mi yoksa bir zaman damgası/tarih nesnesi mi istiyorsunuz? – sblundy

+0

JohnMilikan: Verimsiz 'tis, sysibm.sysdummy1' den güncel tarihi seçebilirsiniz (bu DB2 varyantı, Oracles kukla tablolarının çağrıldığını hatırlamıyorum). Haklısın, ama ben böyle yapmam. – paxdiablo

cevap

26

, size, siz org.apache.commons kullanabilirsiniz Apache Commons Lang paketi kullanma seçeneği varsa, Ancak java.text.SimpleDateFormat

Date myDate = new Date(); 
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd:HH-mm-ss"); 
String myDateString = sdf.format(myDate); 

kullanmak isteyecektir. lang.time.FastDateFormat

Date myDate = new Date(); 
FastDateFormat fdf = FastDateFormat.getInstance("yyyy-MM-dd:HH-mm-ss"); 
String myDateString = fdf.format(myDate); 

FastDateFormat uygulamanızda boyunca tek bir örneğini kullanabilmesi, iplik güvenli olmanın yararı vardır. Bu biçimlendirme tarihlerde kesinlikle ve SimpleDateFormat yaptığı gibi aşağıdaki örnekte ayrıştırma desteklemez:

SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd:HH-mm-ss"); 
Date yourDate = sdf.parse("2008-09-18:22-03-15"); 
+1

3.2 FastDateFormat ayrıştırma özelliğini destekliyor :) – Ross

8
Date d = new Date(); 
String formatted = new SimpleDateFormat ("yyyy-MM-dd:HH-mm-ss").format (d); 
System.out.println (formatted); 
+0

Bu örnekte, SimpleDateFormat ("yyyy ... –

+0

@ tt teşekkürler, sabit –

+0

Gerekli ithalatlara sahip olmayan kod bölümlerini sevmiyorum.) – paxdiablo

0

SimpleDateFormatter istediğiniz şeydir.

1

dahili olarak kullandığı new Date() (John Millikin @) olan da

long timestamp = System.currentTimeMillis() 

var. Bunu yaptıktan sonra, istediğiniz gibi biçimlendirebilirsiniz.

0

Sorunuzda biraz daha açık olmanız gerektiğini düşünüyorum. Özellikle, sürecin sonunda hangi veri tipini istiyorsunuz? Dizi?

0
final DateFormat formatter = new SimpleDateFormat("yyyy-MM-dd:hh-mm-ss"); 

formatter.format(new Date()); 

JavaDoc for SimpleDateFormat tarih ve saat desen dizeleri hakkında bilgi vermektedir. Standart JDK kullanarak

İlgili konular