Нет, вы не можете безопасно удалить этот код.Даты в конце года, которые относятся к первой неделе нового года, будут соответствовать этому условию.
Рассмотрим следующий случай, когда 31 декабря 2017 года вы получите строку результата:201701
:
Date date = new SimpleDateFormat("yyyy/MM/dd").parse("2017/12/31");
String weekYear = new SimpleDateFormat("yyyyww").format(date);
System.out.println(weekYear); // "201701" - WRONG
Однако существует гораздо более элегантное решение, чем тот код, который вы используете в настоящее время, полагаясь на SimpleDateFormat
год недели * 1011Шаблон * (Y
вместо y
):
Date date = new SimpleDateFormat("yyyy/MM/dd").parse("2017/12/31");
String weekYear = new SimpleDateFormat("YYYYww").format(date);
System.out.println(weekYear); // "201801" - CORRECT
В модульном тестировании вы должны прежде всего обратиться к граничным случаям.Даты, такие как первый и последний день года, определенно будут рассматриваться как пограничные случаи.