【问题标题】:Unexpected behavior of DateTimeFormatter of Joda Time?Joda Time 的 DateTimeFormatter 的意外行为?
【发布时间】:2013-03-24 22:40:36
【问题描述】:

如果 DateTimeFormatter 的方法 'public String print(ReadableInstant instant)' 传递了一个 null DateTime(这也是一个 ReadableInstant),我希望 DateTimeFormatter 返回 null 或什么都不返回。

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

这里是相关代码 -

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"

}


}

【问题讨论】:

    标签: java jodatime


    【解决方案1】:

    它表现为documented:

    参数:

    instant - 立即格式化,null 表示现在

    【讨论】:

    • 好的。我得到它。但我很惊讶地看到为什么开发人员无论如何都希望提供非空输出。也许只是为了节省创建 DateTime 所花费的时间,然后将其传递给 print 方法。
    猜你喜欢
    • 1970-01-01
    • 2012-09-14
    • 1970-01-01
    • 2021-03-03
    • 1970-01-01
    • 2020-11-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多