2

Joda Timeのクラスを使用しようとしていますがInterval、そのコンストラクターを使用できません。フォーマットは取りません。

DateTimemysql DBからフォーマットで2つを抽出しようとしていますが、フォーマットyyyy-MM-dd HH:mm:ssで取得されStringます。日付形式に変換しようとしていますが、インターバルクラスで日付形式を使用できません。私が何を使うべきか助けてください???

    String text = "2011-10-02 18:48:05";
    String text2 = "2011-10-02 18:50:05";
    SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
try {
            Date olddate=sdf.parse(text);
            Date newdate=sdf.parse(text2);
            System.out.println(olddate);
            System.out.println(newdate);
//            Interval interval = new Interval(olddate, newdate);



        } catch (ParseException ex) {
            JOptionPane.showMessageDialog(null, "Error at Timestamp subtract Format function Dategenerator" + ex.getMessage());

        }
4

2 に答える 2

5

は使用しませんjava.util.Dateが、Joda Time のorg.joda.time.DateTime.

解析には Joda Time のorg.joda.time.format.DateTimeFormat.

それはうまくいくはずです:

    String text = "2011-10-02 18:48:05";
    String text2 = "2011-10-02 18:50:05";
    DateTimeFormatter formatter = DateTimeFormat.forPattern("yyyy-MM-dd HH:mm:ss");
    DateTime oldDate = formatter.parseDateTime(text);
    DateTime newDate = formatter.parseDateTime(text2);
    System.out.println(oldDate);
    System.out.println(newDate);
    Interval interval = new Interval(oldDate, newDate);
    System.out.println(interval);
于 2013-02-08T15:05:51.967 に答える
1

Joda 時間でこのコードを使用して、分の差を取得できました。

String text = "2011-10-02 15:48:05";
        String text2 = "2011-10-02 18:52:10";
        DateTimeFormatter formatter = DateTimeFormat.forPattern("yyyy-MM-dd HH:mm:ss");
        DateTime oldDate = formatter.parseDateTime(text);
        DateTime newDate = formatter.parseDateTime(text2);
        System.out.println(oldDate);
        System.out.println(newDate);
        Interval interval = new Interval(oldDate, newDate);        
        System.out.println(interval.toDuration().toPeriod().getHours()*60+  interval.toDuration().toPeriod().getMinutes());
于 2013-02-08T15:25:32.537 に答える