2012-11-20 21 views
8

Yerel veritabanından aldığım 2012-11-21 13:11:25 bir tarih dizesi yaşıyorum. Bunu UTC ayarlarına göre dönüştürmek ve belirli bir ekranda görüntülemek zorundayım. Yani eğer GMT+05:30 ise ekranda 2012-11-21 18:41:25 olarak gösterilmelidir. Bu dönüşümü nasıl yapabilirim? Bazı soruları kontrol ettim ama işe yaramadı. Bundan sonra Wed Nov 21 13:11:25 GMT+05:30 2012 gibi bir şey döndüren bir Date nesnesi almak mümkünTarih ve saat dizgesini UTC biçimine göre dönüştürme

önceden 11-21-2012

teşekkür olarak 18:41:25 ve tarih gibi zaman almak gerekir

+0

Bunu kontrol edebilirsiniz: [Convertion] [1] [1]: http://stackoverflow.com/questions/2609360/converting-local-timestamp-to-utc-timestamp-in-java Bu yardımcı olur umarım. – kittu88

cevap

14

Sizin df ve inputFmt aynı kullanmalıdır biçim.

Ama böyle yapmak gerektiğini düşünüyorum:

Date myDate = new Date(); 

    Calendar calendar = Calendar.getInstance(); 
    calendar.setTimeZone(TimeZone.getTimeZone("UTC")); 
    calendar.setTime(myDate); 
    Date time = calendar.getTime(); 
    SimpleDateFormat outputFmt = new SimpleDateFormat("MMM dd, yyy h:mm a zz"); 
    String dateAsString = outputFmt.format(time); 
    System.out.println(dateAsString); 
1

En şekilde gerekli formatta Tarih biçimlendirilmiş dize geçmektir

SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss", Locale.US); 
dateFormat.setTimeZone(TimeZone.getTimeZone("UTC")); 
String formatted = dateFormat.format(date); 
5

şimdiki zaman UTC alın:

public String getCurrentUTC(){ 
     Date time = Calendar.getInstance().getTime(); 
     SimpleDateFormat outputFmt = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); 
     outputFmt.setTimeZone(TimeZone.getTimeZone("UTC")); 
     return outputFmt.format(time); 
} 
İlgili konular