Java Joda Time的DateTimeFormatter的意外行为?

Java Joda Time的DateTimeFormatter的意外行为?,java,jodatime,Java,Jodatime,我希望DateTimeFormatter在其方法“public String print(ReadableInstant instant)”传递空DateTime(这也是一个ReadableInstant)时返回null或nothing 令人惊讶的是,它返回当前时间,而不是抛出错误。这可能是一只虫子吗 以下是相关代码- import org.joda.time.*; import org.joda.time.format.DateTimeFormat; import org.joda.time.

我希望DateTimeFormatter在其方法“public String print(ReadableInstant instant)”传递空DateTime(这也是一个ReadableInstant)时返回null或nothing

令人惊讶的是,它返回当前时间,而不是抛出错误。这可能是一只虫子吗

以下是相关代码-

import org.joda.time.*;
import org.joda.time.format.DateTimeFormat;
import org.joda.time.format.DateTimeFormatter;

public class JodaTest {

public static void main(String[]args){

    DateTime dt = null;
    String ss = getTimeInAFormat(dt);
    System.out.println(ss);


}

public static String getTimeInAFormat(DateTime time) {

    DateTimeFormatter dtf = DateTimeFormat.forPattern("MM-dd-YYYY hh:mm");
    String dateTime = dtf.print(time); // Should throw an error or return,  
    return dateTime; // a String = "NO DATE SET"

}


}
其行为如下:

参数:

即时-即时格式化,null表示现在

其行为如下:

参数:

即时-即时格式化,null表示现在


好啊我明白了。但我很惊讶地看到,为什么开发人员无论如何都要提供非空输出。也许只是为了节省创建DateTime所需的时间,然后将其传递给print方法。ok。我明白了。但我很惊讶地看到,为什么开发人员无论如何都要提供非空输出。也许只是为了节省创建DateTime所需的时间,然后将其传递给print方法。