如何通过本地化在java中获取数据?
我有一张有日期数据的表 我就是这样计算日期的如何通过本地化在java中获取数据?,java,date,Java,Date,我有一张有日期数据的表 我就是这样计算日期的 DateFormat dateFormat = getFormat(); date = dateFormat.parse((String) value).getTime(); if(date != null) { cell.setValue(dateFormat.format(date)); tableViewer.update(element, null); } public static DateFormat getF
DateFormat dateFormat = getFormat();
date = dateFormat.parse((String) value).getTime();
if(date != null) {
cell.setValue(dateFormat.format(date));
tableViewer.update(element, null);
}
public static DateFormat getFormat() {
String systemLocale = System.getProperty("user.language"); //$NON-NLS-1$
Locale locale = new Locale(systemLocale);
DateFormat dateFormat = DateFormat.getDateInstance(DateFormat.MEDIUM, locale);
return dateFormat;
}
该日期以月(月名称)日期、年的格式存在于屏幕中
for example Apr 26,2014.
现在我想得到单元格的值,并得到格式为“yyyy-mm-dd”
日期的值为2014年4月26日。
我怎样才能得到2014-04-26的结果?此外,我认为UI中的值可能会根据用户的本地化而改变
我试过了
DateFormat dateFormat = getFormat();
Date parse = dateFormat.parse((String) key);
但是所有的get方法都被弃用了,而且我没有得到getYear的正确结果
我不擅长约会,也许我错过了什么试试这个:
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Locale;
public class CustomFormattedDate {
public static void main(String[] args) {
Date date = new Date();
// if you use DD for Daypattern, you'll get the day of the year, e.g. 119 for the
// 29th April 2014, if you want 29, the day of the month, use dd
SimpleDateFormat df = new SimpleDateFormat("YYYY-dd-MMM", new Locale(System.getProperty("user.language")));
System.out.println(df.format(date));
System.out.println(getDateFormat().format(date));
}
}
输出
2014-29-Apr
您应该以所需的(用户)格式将java.util.Date对象存储在单元格中。这样,您就不必将字符串解析回日期。我需要不同的格式,然后在UI中使用。我一般需要它,而不是表格可能存在重复的问题,即该值的格式名称为月-日-年。在这种情况下,我可以使用simpleDAte。我希望输出为YYYY-DD-MM,Locale.derman是什么?我们可以有一个聊天?当然,邀请我@用户1365697谢谢你的回答帮助了我