用Java更改日期对象的时区?

yet*_*rSE -1 java timezone date

土耳其有两个TimeZone GMT + 2和GMT + 3.我想将GMT + 2日期更改为GMT + 3,但我希望保护GMT + 2 TimeZone中的小时和分钟.

我想花几个小时和几分钟,然后将这些值设置为GMT + 3 TimeZone日期.结果必须没有小时和分钟的变化,但时区必须只是改变.在功能toconvert日期必须是GMT + 2格式,但返回值必须是GMT + 3格式.怎么做清楚?

public static Date convertTimezone(Date toConvert) {
    Date date = new Date();
    date.setYear(toConvert.getYear());
    date.setMonth(toConvert.getMonth());
    date.setHours(toConvert.getHours());
    date.setMinutes(toConvert.getMinutes());
    return date;
}
Run Code Online (Sandbox Code Playgroud)

Mat*_*arz 5

在Java中,a Date代表一个时间点,没有别的.这意味着Date什么都不知道它是如何打印的,哪个时区等......

因此,时区是您在打印时设置的Date.DateFormat类通常用于打印,时区是您可以设置的属性的一部分DateFormat.通常,人们使用子类SimpleDateFormat.