Java 下如何把本地时间转化为UTC时间.

昨晚帮一个小兄弟看一个把本地时间转化为UTC时间的问题,
找度娘搜了一圈,发现提供的代码都是错的,在本地都能运行并得到良好结果,但是一上到服务器docker环境下就出问题,折腾了快2小时,记录一下。

代码如下:

public class test {

public static String  getRegion(long zone ) {

//格式为时区大于0:"+00:00","+08:00",时区小于0:"-06:00"

  StringBuilder stringBuilder =new StringBuilder();

  if (zone >0) {

if (zone>10) {

stringBuilder.append("+").append(zone).append(":00");

      }else {

stringBuilder.append("+").append("0").append(zone).append(":00");

      }

}else {

if (zone<-10) {

stringBuilder.append(zone).append(":00");

      }else {

stringBuilder.append("-0").append(Math.abs(zone)).append(":00");

      }

}

return "GMT"+stringBuilder.toString();

}

public static StringchangeUTCTimeStr3(String date,long zone) {

DateFormat format =new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

  format.setTimeZone(TimeZone.getTimeZone(getRegion(zone)));

  try {

      Date dateTest = format.parse(date);

      format.setTimeZone(TimeZone.getTimeZone("GMT+00:00"));

      return format.format(dateTest);

  }catch (Exception e){

}

return "";

}

public static void main(String[] args) {

System.out.println(changeUTCTimeStr("2020-05-11 00:00:00",8));

}

}

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容