Java Joda Time的DateTimeFormatter的意外行为?
我希望DateTimeFormatter在其方法“public String print(ReadableInstant instant)”传递空DateTime(这也是一个ReadableInstant)时返回null或nothing 令人惊讶的是,它返回当前时间,而不是抛出错误。这可能是一只虫子吗 以下是相关代码-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.
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方法。