我有一个以毫秒为单位指定的日期/时间,该日期/时间由以下方式检索:
Calendar.getInstance().getTimeInMillis();
我想将其格式化为一个字符串,该字符串表示设备上本地格式的日期和时间。例如:
US: 12/15/2013 10:30 pm
Germany: 15.12.2013 22:30
我不必指定格式,例如:
SimpleDateFormat outputFormat = new SimpleDateFormat("MMM dd, yyyy h:mm a");
是否有处理本地格式的API?
答案 0 :(得分:0)
我想这就是你要找的东西:
Locale locale = Locale.getDefault();
Date today = new Date();
SimpleDateFormat.SimpleDateFormat.getDateTimeInstance(SimpleDateFormat.LONG, SimpleDateFormat.LONG, locale).format(today));
您需要检查locale
并相应地传递其值。
答案 1 :(得分:0)
请参阅此代码
String myformat = android.provider.Settings.System.getString(getContentResolver(), android.provider.Settings.System.DATE_FORMAT);
DateFormat dateFormat;
if (TextUtils.isEmpty(myformat)) {
dateFormat = android.text.format.DateFormat.getMediumDateFormat(getApplicationContext());
} else {
dateFormat = new SimpleDateFormat(format);
}
所以dateformat将与您的设备日期匹配
答案 2 :(得分:0)
检查DateFormat。特别
public static final DateFormat getDateInstance(int style,
Locale aLocale)
这是example。看看它是否有帮助。
答案 3 :(得分:-2)
作为一个选项,您可以在字符串资源中存储格式字符串,以便通过
使用它getResources().getString(R.string.format)
然后将您需要的字符串放入语言环境文件夹,例如:
res/values-en/strings.xml
res/values-fr/strings.xml