2013-08-30 44 views

回答

19

ReadableInstant中有一个boolean isAfter(ReadableInstant instant)方法,因此DateTime实现了ReadableInstant它也应该接受DateTime。

+0

我看到拍摄超负荷但忽略它,因为我不知道当我期待着一个'ReadableInstant'时,我可以传递一个'DateTime'。谢谢! –

+2

@Teifi如果这回答了你的问题,你应该考虑接受。 –

+0

以上答案是使用最佳方法之一 –

1
public static void main(String[] args) { 
    System.err.println(new DateTime().isAfter(new DateTime().plusDays(1))); 
} 

作品对我来说

0

还有来自BaseDateTime,让你代表日期的long值继承getMillis()方法,你可以比较两个long值,以确定哪些是之前,并且由多少。

+0

如上所述,如果您想知道两个DateTime对象之间在代码中以后的其他输出之间的确切区别。 –

2

方法isAfter说明

public boolean isAfter(ReadableInstant instant) 

    Is this instant after the instant passed in comparing solely by millisecond. 

    Specified by: 
     isAfter in interface ReadableInstant 

    Parameters: 
     instant - an instant to check against, null means now 
    Returns: 
     true if the instant is after the instant passed in 

它采用ReadableInstant作为参数,所以DateTime也可以作为清楚DateTime Hierarchy

Class DateTime 

java.lang.Object 
    extended by org.joda.time.base.AbstractInstant 
     extended by org.joda.time.base.AbstractDateTime 
      extended by org.joda.time.base.BaseDateTime 
       extended by org.joda.time.DateTime 

All Implemented Interfaces: 
    Serializable, Comparable<ReadableInstant>, ReadableDateTime, ReadableInstant 

以上信息传递是从joda api docs

+0

当[文档](http://joda-time.sourceforge.net/apidocs/org/joda/time/base/AbstractInstant.html#isAfter(org.joda.time.ReadableInstant))说“仅比较毫秒,“他们的意思是”毫秒“?他们只是说时区被忽略了,对吧? –

相关问题