Как уже сказал Джон Скит, java.util.Date
не имеет часового пояса. Объект Date
представляет количество миллисекунд с 1 января 1970 года, 12:00 утра, UTC. Он не содержит информацию о часовом поясе.
Когда вы форматируете объект Date в строку, например, используя SimpleDateFormat
, вы можете установить часовой пояс для объекта DateFormat
, чтобы он знал, в каком часовом поясе вы хотите отобразить дату и время :
Date date = new Date();
DateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
// Use Madrid's time zone to format the date in
df.setTimeZone(TimeZone.getTimeZone("Europe/Madrid"));
System.out.println("Date and time in Madrid: " + df.format(date));
Если вы хотите использовать местный часовой пояс компьютера, на котором работает ваша программа, используйте:
df.setTimeZone(TimeZone.getDefault());