我的PostgreSQL字段中有一个java.util.Date
存储为2014-11-08 13:45:00
。 (是UTC)
我想展示它:至少与#34;欧洲/巴黎"时区,应该打14:45
我试过
DateTimeFormat.fullDateTime()。withZone(DateTimeZone.forID(" Europe / Paris"))。print(new DateTime(myJavaDate));
其他一些组合没有成功。
更好的是,如果它可以使用动态Locale
而不是硬编码TimeZone
,那将是完美的。
由于
编辑: 要在DB中编写它,我使用Ebean:
SimpleDateFormat parserSDF=new SimpleDateFormat("MMM dd, yyyy hh:mm:ss aaa", Locale.ENGLISH);
Date myJavaDate = parserSDF.parse(strDate);
...
bean.date = myJavaDate;
bean.save();
在我的表格中,它是timestamp without time zone
列(Ebean自动生成)
答案 0 :(得分:0)
我的工作解决方案
public String getTime(){
Locale locale = Controller.request().acceptLanguages().get(0).toLocale();
DateTime dateTime = new DateTime(betDate, DateTimeZone.UTC);
dateTime = dateTime.withZone(DateTimeZone.forID("Europe/Paris"));
return DateTimeFormat.shortTime().withLocale(locale).print(dateTime);
}
public String getDate(){
Locale locale = Controller.request().acceptLanguages().get(0).toLocale();
DateTime dateTime = new DateTime(betDate, DateTimeZone.UTC);
dateTime = dateTime.withZone(DateTimeZone.forID("Europe/Paris"));
return DateTimeFormat.shortDate().withLocale(locale).print(dateTime);
}