Дата Java отображает предыдущий день, месяц и совершенно другой год [закрыто]JAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Дата Java отображает предыдущий день, месяц и совершенно другой год [закрыто]

Сообщение Anonymous »

Я пытаюсь отобразить дату в зависимости от часового пояса.

Если я изменю часовой пояс своей системы на тихоокеанский часовой пояс США, сегодняшняя дата будет отображаться правильно. Если я хочу отобразить выходные данные 01.01.2000, это будет 31.12.1969.

Можете ли вы сообщить мне, нужно ли мне внести какие-либо изменения в настройки системы или настройки Java?
Ниже приведен пример кода:

Код: Выделить всё

package timezoneexample;
import java.text.DateFormat;
import java.util.Date;
import java.util.TimeZone;

public class TimezoneExample {

public static void main(String args[]) {
DateFormat dateFormat = null;

String datePattern = null;
char dateSeperator = '/';
try {
datePattern = "MM/dd/yyyy";
if (datePattern.length()  0
&& dateFormat instanceof java.text.SimpleDateFormat) {
java.text.SimpleDateFormat sdf = (java.text.SimpleDateFormat) dateFormat;
sdf.applyPattern(datePattern);
}

dateFormat.setTimeZone(java.util.TimeZone.getDefault());

// enter DOB
Date dob = new Date(2000 - 01 - 01);
Date today = new Date();
String timeZone = System.getProperties().getProperty("user.timezone");

TimeZone tZone = TimeZone.getTimeZone(timeZone);

System.out.println("Timezone : " + tZone);

dateFormat.setTimeZone(tZone);

System.out.println("Date Of Birth : " + dateFormat.format(dob));
System.out.println("Date in Displayed as per Timezone : "
+ dateFormat.format(today));

}

}
Вывод:

Код: Выделить всё

Timezone : sun.util.calendar.ZoneInfo[id="America/Los_Angeles",offset=-28800000,dstSavings=3600000,useDaylight=true,transitions=185,lastRule=java.util.SimpleTimeZone[id=America/Los_Angeles,offset=-28800000,dstSavings=3600000,useDaylight=true,startYear=0,startMode=3,startMonth=2,startDay=8,startDayOfWeek=1,startTime=7200000,startTimeMode=0,endMode=3,endMonth=10,endDay=1,endDayOfWeek=1,endTime=7200000,endTimeMode=0]]
Дата рождения: 31.12.1969

Дата отображается согласно часовому поясу: 07.01.2015

Подробнее здесь: https://stackoverflow.com/questions/278 ... erent-year
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»