0

我想在我的 android 应用程序的特定实例中显示日期和时间。我使用以下代码来实现它。

Date now = new Date();
final String time = DateFormat.getDateTimeInstance(DateFormat.MEDIUM,DateFormat.SHORT).format(now);

现在的问题是,在模拟器上它以我想要的完美格式显示日期和时间

Sep 1,2012 10:30pm

但是当我在手机上运行我的应用程序时,它会以以下格式显示日期和时间:

2012 9 1 10:30

谁能告诉我为什么我在模拟器和手机上会有不同的行为?我应该怎么做才能在手机上获得与我在模拟器上相同的结果?

谢谢你!!

4

3 回答 3

3

日期格式可能会改变手机到手机,电脑到手机等等。但是您可以使用日期格式化程序,以便实现统一。

文档 - SimpleDateFormat

例子

于 2012-09-03T05:10:51.660 回答
2

Sukitha 你的提示有效。我猜维京人错过了它。

无论如何,就这样吧。(在摩托罗拉 DROID 中测试)

String format = "MMM d,yyyy H:m a";
        SimpleDateFormat sdf = new SimpleDateFormat(format, Locale.ENGLISH);
        System.out.println("Time : "+sdf.format(new Date(System.currentTimeMillis())));
        Toast.makeText(this, "Time : "+sdf.format(new Date(System.currentTimeMillis())), 1000).show();

输出:时间:1970 年 1 月 4 日上午 6:52

于 2012-09-03T05:46:41.650 回答
1

编辑:

使用以下代码,您将在模拟器和设备上得到相同的结果。

Calendar c = Calendar.getInstance();
SimpleDateFormat df = new SimpleDateFormat("MMM-dd-yyyy HH:mm a");
String formattedDate1 = df.format(c.getTime());
于 2012-09-03T05:05:12.470 回答