Java 如何发现Joda时间的差异

Java 如何发现Joda时间的差异,java,jodatime,Java,Jodatime,我试图使用Joda Time的Interval类,但无法使用其构造函数。它不采用这种格式 我试图以yyyy-MM-dd HH:MM:ss格式从mysql数据库中提取两个DateTime,并以String格式检索。我试图将其转换为日期格式,但interval类无法采用日期格式。请帮忙我该用什么 String text = "2011-10-02 18:48:05"; String text2 = "2011-10-02 18:50:05"; SimpleDateFormat

我试图使用Joda Time的
Interval
类,但无法使用其构造函数。它不采用这种格式

我试图以
yyyy-MM-dd HH:MM:ss
格式从mysql数据库中提取两个
DateTime
,并以
String
格式检索。我试图将其转换为日期格式,但interval类无法采用日期格式。请帮忙我该用什么

    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());

        }

不要使用
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);

我能够在joda time中使用以下代码获得分钟差:

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());

我非常喜欢,我用的是joda time的旧日期格式。这正是我需要的。我可以很容易地从中获取分钟数。通过
interval.toDuration().getStandardMinutes()
获得的分钟数长度。为true,但它返回的是double而不是int