Пожалуйста, будьте конкретны с объяснением проблем, которые возникают у вас с вашим методом.Каковы ваши входные значения, которые ожидают в качестве выходных значений.Как разработчик, вы должны выражать это в форме теста.
@Test
public void testGetDateFromDateTime() {
DateTimeZone timezone = DateTimeZone.forID("US/Eastern");
Date date = new DateTime(2011, 11, 11, 17, 0, 0, 0, timezone).toDate();
String formattedDate = unitUnderTest.getDateFromDateTime(date, true);
Assert.assertEquals(formattedDate, "11/11/2011");
}
Ваша проблема в том, что вы не указываете часовой пояс, в котором вы хотите отформатировать дату.В этом случае Java будет использовать часовой пояс, установленный в операционной системе, в которой работает JVM.Например, если вы хотите отформатировать дату / время 2011/11/11 16:45 из США / Восточной системы в Сингапуре, используя часовой пояс +08: 00.Система будет интерпретировать дату / время как 2011/11/12 06:00, что представляет собой точно такой же момент времени.Затем система будет использовать средство форматирования и даст '11 / 12/2011 '.экономия времени закончилась 6 ноября.