某些DateFormat AM / PM格式化选项似乎不适用于API级别8的AVD

时间:2011-05-11 08:31:22

标签: android android-emulator date-format android-2.2-froyo

android.text.format.DateFormat指定使用格式字符串'a'应该产生'a'或'p','aa'应该产生'am'或'pm'。但是,在我的AVD上,使用'a','A'或'AA'会产生'am'或'pm',这与在线文档不一致。

final long currentTimeMillis = System.currentTimeMillis();

Log.i("DateFormat", "a: " + (String) DateFormat.format("a", currentTimeMillis));
Log.i("DateFormat", "aa: " + (String) DateFormat.format("aa", currentTimeMillis));
Log.i("DateFormat", "A: " + (String) DateFormat.format("A", currentTimeMillis));
Log.i("DateFormat", "AA: " + (String) DateFormat.format("AA", currentTimeMillis));

由于DateFormat自API级别3开始可用,我是否正在进行回归或者我的开发环境有问题? (我是android的新手,所以我对这个框架没有多少经验)。 AVD配置为API级别8,我正在使用Eclipse。

2 个答案:

答案 0 :(得分:1)

尝试按照Android Developer

中的说明使用SimpleDateFormat
SimpleDateFormat sdf = new SimpleDateFormat("a hh-mm-ss");
date = new Date();
sDate = sdf.format(date);

答案 1 :(得分:0)

最后到处查看源代码,据我所知,这些格式化选项从未正确实现。只检索了2个可能的本地化字符串,并且它们不会被进一步操作,这正是我所观察到的。

我提交了一个错误:http://code.google.com/p/android/issues/detail?id=16997

相关问题