Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
198 views
in Technique[技术] by (71.8m points)

Change a Date Object's Timezone in Java?

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;
}
See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

In Java a Date represents a point in time, nothing else. This means that Date 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 on DateFormat. Typically, people use the subclass SimpleDateFormat.


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...