我知道这是一个非常难以理解的问题,但由于有很多方法可以解决这个问题,我觉得很困惑。
我住在英格兰所以我们的日期是'日 - 月 - 年'。所以在我的应用程序上,我想存储发生事件的日期,然后显示它。但是在美国,这个日期是“月 - 日 - 年”,以前我收到过几封电子邮件,说有人在1月12日做了一些事情,并说它们是在12月1日做的。
我可以从设备中获取Locale,所以我想知道在日期,月份和年份中获取本地化日期的最佳方式是什么。
非常感谢任何帮助。谢谢! :)
答案 0 :(得分:4)
试试这个
Date date = new Date();
DateFormat df = DateFormat.getDateInstance(DateFormat.LONG, Locale.UK);
System.out.println("Time: "+ df.format(date)); // or whatever you want to do with it.
答案 1 :(得分:1)
DateFormat.getDateFormat(Context context)
返回当前区域设置的格式。
答案 2 :(得分:0)
使用SimpleDateFormat
课程。查看说明here
它可以为您选择的格式生成String,也可以为当前JVM / device / Locale
格式化默认值例如:
final String FORMAT="yyyy-MM-dd";
return new SimpleDateFormat(FORMAT).format(Calendar.getInstance().getTime());