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

日付形式は、電話から電話、PC から電話などに変更される場合があります。ただし、統一性を達成できるように、日付フォーマッターを使用できます。

ドキュメンテーション - SimpleDateFormat

于 2012-09-03T05:10:51.660 に答える
2

あなたのヒントがうまくいきます。バイキングはそれを逃したと思います。

とにかく、ここに行きます。(Motorola 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 AM

于 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 に答える