2013-03-24 2 views
1

я ожидал DateTimeFormatter вернуть нуль или ничего, если его метод «общественного Строка печати (ReadableInstant мгновенная)» передается нулевой DateTime (который также является ReadableInstant.)Неожиданное поведение DateTimeFormatter времени Джоды?

Неожиданно возвращает текущее время, вместо того, чтобы бросать ошибка. Может ли это быть ошибкой?

Вот соответствующий код -

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" 

} 


} 

ответ

4

Он ведет себя как documented:

Параметры:

мгновенная - мгновенный формат, нуль означает, что теперь

+1

ОК. Я понимаю. но я удивлен, почему разработчик захочет предоставить нулевой вывод в любом случае. возможно, просто чтобы сохранить время, затраченное на создание DateTime, а затем передать его методу печати. –

Смежные вопросы