Turkey has two TimeZone GMT+2 and GMT+3. I want to change the GMT+2 dates into GMT+3, but I want to protect hours and minutes that in GMT+2 TimeZone.
I want to take hours and minutes, and then set these values into GMT+3 TimeZone date. At result there must be no change in hours and minutes but the timeZone must be change only. At function toconvert
date is must be GMT+2 format, but the return value must be GMT+3 format. How to do it clearly?
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;
}
In Java a
Date
represents a point in time, nothing else. This means thatDate
knows nothing about how it is printed, which time zone etc...Time Zone is therefore something you set when printing the
Date
. The class DateFormat is typically used for printing and the time zone is part of the properties you can set onDateFormat
. Typically, people use the subclass SimpleDateFormat.java.util.Date cannot track your Timezone details. Use Calendar instead
You can make use of
Calender
API to convert one timezone to otherYou shouldn't use a Date object in this case. Use Calendar instead.