关于时间不同时区的转换问题
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);
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);
相关文章推荐
- 关于客户端与服务端时区不同导致客户端上的时间不准问题的解决方案
- 关于Magento的时间/时区问题
- iOS在不同手机转换时间戳获取到的数值进行比较会出现不同的值的问题
- 关于json转换bean,Date为当前系统时间的问题
- 日期时间不同时区转换
- DatePicker获取时间时,如何转换时区的问题
- Postgresql关于日期和时间戳转换问题
- 关于json转换bean,Date为当前系统时间的问题
- 关于时间问题(时间的显示 和时区)
- java导入excel表格时间类型转换格林时间制时区问题
- utc时间和不同时区之间的转换程序
- 关于时间转换总是显示1970年的问题
- 关于时间戳的转换问题
- 关于java时区转换夏令时问题及解决办法
- NSDateFormatter转换时间字符串时的时区问题
- MS CRM2011 关于从数据库读取时间并在前台用JS显示时,时间转换的问题
- 关于php读取excel的时间转换问题
- 关于php的时间相关函数需要注意时区问题
- 关于Web项目里的给表单验证控件添加结束时间不得小于开始时间的验证方法,日期转换和前台显示格式之间,还有JSON取日期数据格式转换成标准日期格式的问题
- 一个比较愚蠢的办法,解决excel表,关于导出时间类型转换成QString的问题