1

これらのコードを使用して現地時間を取得します。

DateFormat dateFormat = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");
Calendar currenDdate = Calendar.getInstance(TimeZone.getDefault());
System.out.print("Last update: "+dateFormat.format(currenDdate.getTime()));

また:

DateFormat dateFormat = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");
Calendar currenDdate = Calendar.getInstance(getTimeZone("GMT+3.5"));
System.out.print("Last update: "+dateFormat.format(currenDdate.getTime()));

しかし、それらのどれも現地時間を提供していません。どちらもGMTを提供していますが、何が問題なのですか?

注: 私は Eclipse と Android プログラミングを使用しています。上記のコードは Java では正しく動作しますが、Android では動作しません!

system.out.print() の代わりにテキストビューを使用して時間を表示します

TextView date = (TextView) findViewById(R.id.gold_textView1);
date.setText("Last update: "+dateFormat.format(currenDdate.getTime()));

問題を見つけるのを手伝ってください

4

4 に答える 4

0

このように試しましたか:

DateFormat dateFormat = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");
dateFormat.setTimeZone(TimeZone.getDefault());
Calendar currenDdate = Calendar.getInstance(TimeZone.getDefault());
System.out
    .print("Last update: " + dateFormat.format(currenDdate.getTime()));
于 2013-07-31T15:06:33.447 に答える
0

オブジェクトDate currentDate = new Date()の代わりに試してください。CalendarあなたのSystem.out.print()電話は変わりません。また、システムを再確認して、デフォルトのタイムゾーンが正しく設定されていることを確認してください。

于 2013-07-31T14:55:36.753 に答える
0

onCalendarを設定する必要がある代わりに:TimeZoneSimpleDateFormat

DateFormat dateFormat = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss Z");
dateFormat.setTimeZone(TimeZone.getTimeZone("GMT+0330"));

// prints: Last update: 2013/07/31 18:46:24 +0330
System.out.println("Last update: " + dateFormat2.format(currenDdate.getTime()));

内部で独自のインスタンスをSimpleDateFormat使用するため、これが必要です。Calendar

SimpleDateFormat#setTimeZone()を参照してください

public void setTimeZone(TimeZone zone)
{
    calendar.setTimeZone(zone);
}

日付形式パターンにはZ、表示に含めるためのタイムゾーン文字も含まれていることに注意してください。

于 2013-07-31T15:19:15.457 に答える