<!--// 可能这是个我这种java小白才会纠结半天的问题 -->
转自:
http://snmoney.blog.163.com/blog/static/440058201122721343470/
有国外的朋友向我反馈说我某个app不能用或者说每天只有某个时间段才能用...后来摸索了一下规律发现是两地时区的差别
因为我在app里做了一些日期的校验,中国在 GMT+8 换了在地球另一边的话时钟要慢12小时. 这就造成了app取出的日期有一半时间和服务器端的验证日期不一致的问题.
去eoe发问,没人理我..
其实解决问题的办法只要一行代码
下面是例子
long ltime;
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
String localTime , rawTime;
//获得系统时间
ltime = System.currentTimeMillis();
//直接取得的是当地时区时间,如果是中国的就是GMT+8
localTime = sdf.format(ltime);
//要设置为标准时间就要对时区做设置 <--这个就是关键的代码了
sdf.setTimeZone(TimeZone.getTimeZone("GMT+00:00"));
//再取出就是标准时间了
rawTime = sdf.format(ltime);
//P.S. 改变的只有sdf, ltime 的值没变过.
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
String localTime , rawTime;
//获得系统时间
ltime = System.currentTimeMillis();
//直接取得的是当地时区时间,如果是中国的就是GMT+8
localTime = sdf.format(ltime);
//要设置为标准时间就要对时区做设置 <--这个就是关键的代码了
sdf.setTimeZone(TimeZone.getTimeZone("GMT+00:00"));
//再取出就是标准时间了
rawTime = sdf.format(ltime);
//P.S. 改变的只有sdf, ltime 的值没变过.