Java 在emulator和Android手机上获得不同的DateFormat结果
我想在我的android应用程序中显示特定实例的日期和时间Java 在emulator和Android手机上获得不同的DateFormat结果,java,android,datetime,date-format,datetime-format,Java,Android,Datetime,Date Format,Datetime Format,我想在我的android应用程序中显示特定实例的日期和时间 Date now = new Date(); final String time = DateFormat.getDateTimeInstance(DateFormat.MEDIUM,DateFormat.SHORT).format(now); 现在的问题是,在emulator上,它以完美的格式显示日期和时间,这正是我想要的 Sep 1,2012 10:30pm 但当我在手机上运行我的应用程序时,它会以以下格式显示日期和时间: 20
Date now = new Date();
final String time = DateFormat.getDateTimeInstance(DateFormat.MEDIUM,DateFormat.SHORT).format(now);
现在的问题是,在emulator上,它以完美的格式显示日期和时间,这正是我想要的
Sep 1,2012 10:30pm
但当我在手机上运行我的应用程序时,它会以以下格式显示日期和时间:
2012 9 1 10:30
谁能告诉我为什么我在模拟器和手机上有不同的行为?我应该怎么做才能在手机上获得和我在模拟器上一样的效果呢
谢谢 编辑:
使用以下代码,您将在emulator和设备上获得相同的结果
Calendar c = Calendar.getInstance();
SimpleDateFormat df = new SimpleDateFormat("MMM-dd-yyyy HH:mm a");
String formattedDate1 = df.format(c.getTime());
编辑:
使用以下代码,您将在emulator和设备上获得相同的结果
Calendar c = Calendar.getInstance();
SimpleDateFormat df = new SimpleDateFormat("MMM-dd-yyyy HH:mm a");
String formattedDate1 = df.format(c.getTime());
日期格式可能会改变电话对电话、pc对电话等。 但您可以使用日期格式化程序,以便实现一致性
日期格式可能会改变电话对电话、pc对电话等。 但您可以使用日期格式化程序,以便实现一致性
苏基塔你的提示有效。我想维京人错过了 不管怎么说,它来了。(在摩托罗拉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:52Sukitha您的提示有效。我想维京人错过了 不管怎么说,它来了。(在摩托罗拉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检查此链接一次@shassss谢谢您的回复。我确实检查了该链接。但我不知道如何获得“2012年9月1日晚上10:30”这样的结果从那个问题上发布的例子中?你看过模拟器和真实设备上的所有语言环境设置了吗?@brianestet感谢你的回答。是的,它不同,但无论设备、操作系统、,设置检查此链接一次@shasss谢谢你的回复。我确实检查了该链接。但我不知道如何获得“2012年9月1日10:30”这样的结果从那个问题上发布的例子中?你看过模拟器和真实设备上的所有语言环境设置了吗?@brianestet感谢你的回答。是的,它不同,但无论设备、操作系统、,设置感谢您的回复。我在两个平台上都运行android 2.2,这就是您设置api的意思吗??另外,我想实现同样的结果,无论api是可能的吗?谢谢你的回答。我运行android 2.2在这两个都是你的意思设置api??另外,我想实现相同的结果,不管api是可能的吗?谢谢你的回答。这段代码给了我一个输出9 22012 2:0 AM,因此它对我不起作用。谢谢你的回答。这段代码给了我一个输出9 22012 2:0 AM,因此它对我不起作用。谢谢你的回答。我几乎得到了结果。我在这一行中更改了格式>SimpleDataFormat df3=新的SimpleDataFormat(“dd-MM-yyy-HH:MM:ss-a”);to SimpleDateFormat df3=新的SimpleDateFormat(“mm dd,yyyy HH:mm a”);这是给我的日期和时间格式为9 032012 2:05 AM。你能告诉我如何将月份“9”显示为“9”吗?它应该是“yyy-MMMM-dd”ex输出:1970-一月-01----“yyy-MMM-dd”ex output:1970-Jan-01感谢您的回复。我尝试了一下,但没有效果。添加区域设置后效果很好。感谢您的回复。我几乎得到了结果。我在这一行中更改了格式>SimpleDateFormat df3=new SimpleDateFormat(“dd-MM-yyyy HH:MM:ss a”);to SimpleDateFormat df3=新的SimpleDateFormat(“mm dd,yyyy HH:mm a”);这是给我的日期和时间格式9 032012 2:05 AM。你能告诉我如何将月份“9”显示为“9”吗?它应该是“yyy-MMMM-dd”ex output:1970-Janur-01--和--“yyyy-MMM-dd”ex output:1970-Jan-01谢谢你的回复。我尝试过了,但没有效果。添加区域设置后它就可以工作了。