Відповіді на цей питання assylias і відповіді на цей питання JB Nizet є правильними:
- Викличте новий метод перетворення, доданий до застарілого класу,
java.util.Date::toInstant .
- Телефонуйте
Instant::atZone, передаючи a ZoneId, в результаті чого a ZonedDateTime.

Але ваш приклад коду спрямований на квартали. Про це читайте далі.
Чверті
Не потрібно самостійно обробляти квартали. Використовуйте вже написаний та перевірений клас.
org.threeten.extra.YearQuarter
У java.time класи продовжені ThreeTen-Extra проекту. Серед безлічі зручних класів, що пропонуються в цій бібліотеці, ви знайдете QuarterіYearQuarter .
Спочатку дістаньте свій ZonedDateTime.
ZonedId z = ZoneID.of( "Africa/Tunis" ) ;
ZonedDateTime zdt = myJavaUtilDate.toInstant().atZone( z ) ;
Визначте рік-квартал для цієї конкретної дати.
YearQuarter yq = YearQuarter.from( zdt ) ;
Далі нам потрібна дата початку цього кварталу.
LocalDate quarterStart = yq.atDay( 1 ) ;
Хоча я не обов'язково рекомендую це робити, ви можете використовувати один рядок коду, а не реалізовувати метод.
LocalDate quarterStart =
YearQuarter
.from(
myJavaUtilDate
.toInstant()
.atZone(
ZoneID.of( "Africa/Tunis" )
)
)
.atDay( 1 )
;
До речі, якщо ви можете повністю відмовитися від використання java.util.Date, зробіть це. Це жахливий клас, разом із такими братами та сестрами, як Calendar. Використовуйте Dateлише там, де це потрібно, коли ви взаємодієте зі старим кодом, який ще не оновлений до java.time .
Про java.time
Java.time каркас вбудований в Java 8 і пізніших версій. Ці класи витісняти неприємні старі застарілі класи дати і часу , такі як java.util.Date, Calendar, і SimpleDateFormat.
Щоб дізнатись більше, див. Підручник Oracle . І шукайте в Stack Overflow багато прикладів та пояснень. Специфікація - JSR 310 .
Проект Joda-Time , який зараз перебуває в режимі обслуговування , радить перейти на java.time класи .
Ви можете обмінювати об'єкти java.time безпосередньо з базою даних. Використовуйте драйвер JDBC, сумісний з JDBC 4.2 або новішою. Не потрібні рядки, не потрібні java.sql.*класи.
Де отримати класи java.time?
Проект ThreeTen-Extra розширює java.time додатковими класами. Цей проект є полігоном для можливих майбутніх доповнень до java.time. Ви можете знайти деякі корисні класи тут , такі як Interval, YearWeek, YearQuarter, і більш .