您的位置:首页 > 其它

关于时间不同时区的转换问题

2015-05-27 15:32 211 查看
由于要做一个俄罗斯的项目,所以项目中要用到俄罗斯的当地时间,纠结了好久才转换过来。

Date d = new Date();

//首先将获取的当前时间转换为时间字符串

String dd = d.toLocaleString();

String format = "yyyy-MM-dd hh:mm:ss";

SimpleDateFormat sdf = new SimpleDateFormat(format);

//GMT+8:00是北京时间的时区

String sourceTimeZone="GMT+8:00";

//GMT+3:00是俄罗斯时间,准确的说是莫斯科时间的时区

String  targetTimeZone="GMT+3:00";  

//获取传入的时间值

Long time = new Date(sdf.parse(dd).getTime()).getTime();

//获取源时区时间相对的GMT时间

LongsourceRelativelyGMT=time-TimeZone.getTimeZone(sourceTimeZone).getRawOffset();

//GMT时间+目标时间时区的偏移量获取目标时间

LongtargetTime=sourceRelativelyGMT+TimeZone.getTimeZone(targetTimeZone).getRawOffset();

Date date= new Date(targetTime);

希望对做国外项目的同学有帮助吧。

 

SimpleDateFormat sdf = new SimpleDateFormat(format);
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  北京 俄罗斯 time