........
// 获取时区偏差小时数hours
long time = zone.getRawOffset() - zone1.getRawOffset();
long hours = time / (60 * 60 * 1000);
long mins = (time / (60 * 1000)) - hours * 60;
String[] times = null;
String str = this.getGenerateAt();
// 传入服务器的生成时间
StringBuffer generateSerTime = new StringBuffer();
times = StringUtils.split(str, Constants.SPLIT_COLON);
// 时
String a = times[0];
String b = times[1];
String c = times[2];
int lastTime = Integer.valueOf(a) - Integer.valueOf(String.valueOf(hours));
// 分钟的处理
int lastMin = Integer.valueOf(b) - Integer.valueOf(String.valueOf(mins));
int flag = 0;
// 如果时间小于0,时间往前推一小时
if (lastMin < 0)
{
flag = 1;
lastMin = Integer.valueOf(b) + 60 - Integer.valueOf(String.valueOf(mins));
}
// 如果时间小于60,时间往后推一小时
if (lastMin > 60)
{
flag = 2;
lastMin = Integer.valueOf(b) - Integer.valueOf(String.valueOf(mins)) - 60;
}
if (flag == 1)
{
lastTime = lastTime - 1;
}
if (flag == 2)
{
lastTime = lastTime + 1;
}
if (lastTime >= 0)
{
lastTime = lastTime % 24;
}
else
{
lastTime = (lastTime + 24) % 24;
}
------解决方案--------------------
你是来问问题的?。。还是?????