java 北京时区_java根据时区 北京时间和其他国家时间互换

北京时间换算

/**

* 北京时间转换成 别的时区时间

* @param stime

* @param timeNum

*/

public static Date setTimeConvert(Date stime, String timeNum) {

double convertNum= Double.parseDouble(timeNum);

// 东加西减

// 以北京时间 为准

if(convertNum>0){

//西方时间点

double num =-(convertNum+8);

stime=addDateMinut(stime, num);

}else{

//东方时间点

double num= Math.abs(convertNum);

double diff=num-8;

stime=addDateMinut(stime,diff);

}

return stime;

}

public static Date addDateMinut(Date date, double hour){

String hourStr=String.valueOf(hour);

Calendar cal = Calendar.getInstance();

cal.setTime(date);

int h=0;

if(hourStr.indexOf(".")>-1){

String hours[]=hourStr.split("\\.");

h=Integer.parseInt(hours[0]);

double minute=Double.parseDouble(("0."+hours[1]))*60;

int m=(int)minute;

cal.add(Calendar.MINUTE, m);// 24小时制

}else{

h=Integer.parseInt(hour+"");

}

cal.add(Calendar.HOUR, h);// 24小时制

date = cal.getTime();

System.out.println("after:" + date); //显示更新后的日期

cal = null;

return date;

}

/**

* 别的时间转换成北京时间

* @param stime

* @param timeNum

* @return

*/

public static Date setTimeToBeiJing(Date stime, String timeNum) {

double convertNum= Double.parseDouble(timeNum);

// 东加西减

// 以北京时间 为准

if(convertNum>0){

//西方时间点

double num =(convertNum+8);

stime=addDateMinut(stime, num);

}else{

//东方时间点

double num= Math.abs(convertNum);

double diff=0;

diff=8-num;

stime=addDateMinut(stime,diff);

}

return stime;

}

/**

* @param args

* @throws ParseException

*/

public static void main(String[] args) throws ParseException {

//System.out.println(formatDate(parseDate("2010/3/6")));

//System.out.println(getDate("yyyy年MM月dd日 E"));

//long time = new Date().getTime()-parseDate("2012-11-19").getTime();

//System.out.println(time/(24*60*60*1000));

//北京时间转换成 别的区时间

//Date stime= new Date();

//Date etime= new Date();

//setTimeConvert(stime,etime,-7);

//System.out.println("stime"+stime);

//别的时区转换成北京时间

//莫斯科时间

//2019-7-29 09:39:48

Date stime = DatetimeUtils.parseStr2Date("2019-7-29 09:39:48", "yyyy-MM-dd HH:mm:ss");

setTimeToBeiJing(stime,"-2");

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值