2012-09-03 40 views
0

我想在我的android应用中的特定实例上显示日期和时间。我使用下面的一段代码来实现它。在模拟器和手机上获取不同的DateFormat结果-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 

谁能告诉我为什么IM在模拟器和手机获得不同的行为?我应该怎么做才能在手机上获得相同的结果,就像在模拟器上一样?

谢谢!

+0

检查这个环节一旦http://stackoverflow.com/问题/ 454315 /你怎么做格式日期和时间在Android中 – shassss

+0

@shassss谢谢你的回复。我确实检查了这个链接。但我没有得到,我怎么能得到像“2012年9月1日晚上10点30分”从这个问题上发布的例子? – Viking

+0

你看过所有在模拟器和真实设备上的语言环境设置吗? – brianestey

回答

3

数据格式可能会改变电话到电话,PC到电话左右。 但是你可以使用日期格式化程序,以便达到统一性。

Documentation - SimpleDateFormat

Example

+0

谢谢你的回复。我几乎得到了结果。我改变了我在这一行的格式> SimpleDateFormat df3 = new SimpleDateFormat(“dd-MM-yyyy HH:mm:ss a”);到SimpleDateFormat df3 = new SimpleDateFormat(“MMM dd,yyyy HH:mm a”); 这是给我的日期和时间格式9 03,2012 2:05 AM.Can你可以告诉我我怎样才能让月“9”显示为“九月”? – Viking

+0

它应该是 “yyyy-MMMM-dd”前输出:1970-January-01 ---和--- “yyyy-MMM-dd”前输出:1970-Jan-01 –

+0

感谢您的回复。尝试过,但它没有工作。它添加语言环境后工作。 – Viking

1

编辑:

使用下面的代码,然后你会在仿真器和设备上得到它。

Calendar c = Calendar.getInstance(); 
SimpleDateFormat df = new SimpleDateFormat("MMM-dd-yyyy HH:mm a"); 
String formattedDate1 = df.format(c.getTime()); 
+0

感谢你的response.im在两个版本上运行android 2.2都是你设置的意思API?另外我想要达到相同的结果,不管api是可能的吗? – Viking

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();

输出:时间:一月4,1970上午06点52分

+0

感谢您的回复。这段代码给了我输出9 2,2012 2:0 AM,因此它不适合我。 – Viking

+0

它使用后本地感谢 – Viking

+0

干杯,Ajay感谢您添加正确的代码格式 –

相关问题