3

時系列グラフをプロットする GUI があります。ユーザーは、テキスト ボックスに値を入力して、プロットする開始日と終了日を入力します。たとえば、25/07 /13 22:0026/07/13 00:00を入力すると、グラフは25 日の 22:00:00 から翌朝の 00:00:59 までのデータをプロットする必要があります。ユーザーが入力した時間はオブジェクトに解析されCalendarます。

私の問題は DST にあります。

ユーザーは DST を気にしないので、見たいのはこの 2 つの時間の間のグラフだけです。ただし、Calendarオブジェクトは DST を考慮しているため、現在の "to" 日付は 00:00 ではなく 01:00 です。(私はロンドンにいて、現在 GMT + DST の 1 時間です)。

グラフをプロットするときは、DST を効果的に無視し、すべてが GMT + 0 であるかのように振る舞いたいと考えています。

これどうやってするの?

4

4 に答える 4

1

あなたが正しく理解している場合は、25/07/13 22:00 を GMT の日付/時刻として解析する必要があります。

    SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yy HH:mm");
    sdf.setTimeZone(TimeZone.getTimeZone("GMT"));
    Date date = sdf.parse("25/07/13 22:00");

この日付に基づいてカレンダーを作成します

    Calendar c= Calendar.getInstance();
    c.setTime(date);
于 2013-07-25T10:33:11.517 に答える