2016-04-14 42 views
1

REST API'mdaki bazı tarihleri ​​temsil etmek için JodaTime'ın DateTimeFormat kullanıyorum. 2016/04/14 08:50:31 ESTJodaTime'ın farklı ortamlarda garip davranışı

sorun şudur:

kullanıyorum biçim

DateTimeFormat.forPattern("MM/dd/yyyy HH:mm:ss z").withZone(DateTimeZone.forID("EST")); 

Yani benim tarihleri ​​örneğin olarak temsil edilmesini istiyoruz olduğu Üretimimde kodumu çalıştırdığımda iyi çalışır (tarih yukarıdaki örnekle temsil edilir), ancak yerel makinemde veya aşamada çalıştırdığımda, şu şekilde gösterilir:

04/14/2016 09: 05:53 -05: 00

Her iki ortamda da aynı kodu kullanıyorum. Ayrıca, hem Evreleme hem de Üretim Amazon'da çalışıyor ve sunucu tarihinin eşit olarak ayarlandığını biliyorum, bu yüzden bu sorunu nasıl çözeceğimi bilmiyorum.

public static void main(String[] args) { 
     DateTimeFormatter format = DateTimeFormat.forPattern("MM/dd/yyyy HH:mm:ss z") 
       .withZone(DateTimeZone.forID("UTC")); 
     System.out.println(new DateTime(new Date()).toString(format)); 
} 

dip not:

benim sorun göstermek ve çoğaltmak basit Ana yaptık Java 8 ve JodaTime 2.7

+0

Yerel testinizin biçiminde Z sermayesi kullanmadığınızdan% 100 emin misiniz? Çünkü çıktınızı verilen örnekle çoğalayamıyorum. – dambros

+0

Bundan% 100 eminim. JodaTime 2.7 kullanıyorum –

+0

Joda bir seçenek sizin için güncelleniyor mu? Sadece 2.7 ile denedim ve gerçekten işe yaramıyor. Daha önce 2.9.3 ile çoğalamadım. – dambros

cevap

0

kullanıyorum. Sonunda, @dambros tarafından önerilen şekilde Joda Time 2.9.3'e yükseltme yaparak çalıştım. Garip görünen şey, 2.7'de Yapım'da çalışmış olması, ama bu başka bir gün için bir problem.

Teşekkürler!