/**
* <b>项目名:</b>系统项目名称<br/>
* <b>包名:</b>com.datetool<br/>
* <b>文件名:</b>DateTool2.java<br/>
* <b>版本信息:</b><br/>
* <b>日期:</b>Apr 2, 2011-2:40:26 PM<br/>
* <b>Copyright (c)</b> 2011XX公司-版权所有<br/>
*
*/
package com.datetool;
import java.util.Date;
import java.util.TimeZone;
/**
* @author 016540
*
*/
public class DateTool2 {
public static void main(String[] args)
{
System.out.println(new DateTool2().getCurrentHotelLocalDate("America/Los_Angeles"));
}
private Date getCurrentHotelLocalDate(String hotelLocalTimeZoneId)
{
//Get default local time zone Id
String localTimeZoneId = TimeZone.getDefault().getID();
Date localDate = new Date();
int diffTime = getDiffTimeZoneRawOffset(localTimeZoneId,hotelLocalTimeZoneId);
long localTime = localDate.getTime();
long hotelLocalTime = localTime - diffTime;
return new Date(hotelLocalTime);
}
/**
* 获取系统当前默认时区与指定时区的时间差.(单位:毫秒)
*
* @param timeZoneId
* 时区Id
* @return 系统当前默认时区与指定时区的时间差.(单位:毫秒)
*/
private int getDiffTimeZoneRawOffset(String localTimeZoneId,String hotelLocalTimeZoneId) {
return TimeZone.getTimeZone(localTimeZoneId).getRawOffset()
- TimeZone.getTimeZone(hotelLocalTimeZoneId).getRawOffset();
}
}