我有一个输入日期时间字符串:
我想在各个国家正确显示它。例如,在欧洲,我们使用dd.MM.yyyy,而在美国使用MM/dd/yyyy。
我当前的代码是这样的:
TextView timedate = (TextView) v.findViewById(R.id.report_date);
SimpleDateFormat curFormater = new SimpleDateFormat("yyyy-MM-dd kk:mm:ss");
curFormater.setTimeZone(TimeZone.getDefault());
Date dateObj = curFormater.parse(my_input_string);
timedate.setText(dateObj.toLocaleString());
但这并不能完全按照我的要求运行(即使在我的手机上,我也总是会收到“统一”的结果,例如“2012年6月4日3:41:28 PM”)。我究竟做错了什么?
最佳答案
试试这个:
TextView timedate = (TextView) v.findViewById(R.id.report_date);
SimpleDateFormat curFormater = new SimpleDateFormat("yyyy-MM-dd kk:mm:ss");
curFormater.setTimeZone(TimeZone.getDefault());
Date dateObj = curFormater.parse(my_input_string);
int datestyle = DateFormat.SHORT; // try also MEDIUM, and FULL
int timestyle = DateFormat.MEDIUM;
DateFormat df = DateFormat.getDateTimeInstance(datestyle, timestyle, Locale.getDefault());
timedate.setText(df.format(dateObj)); // ex. Slovene: 23. okt. 2014 20:34:45
关于android - 在当前语言环境中显示日期,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10884691/