2012-09-03 59 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感謝您添加正確的代碼格式 –

相關問題