昨晚幫一個小兄弟看一個把本地時(shí)間轉(zhuǎn)化為UTC時(shí)間的問題屠凶,
找度娘搜了一圈涣觉,發(fā)現(xiàn)提供的代碼都是錯的步脓,在本地都能運(yùn)行并得到良好結(jié)果寂拆,但是一上到服務(wù)器docker環(huán)境下就出問題山橄,折騰了快2小時(shí)吗氏,記錄一下红选。
代碼如下:
public class test {
public static String? getRegion(long zone ) {
//格式為時(shí)區(qū)大于0:"+00:00","+08:00",時(shí)區(qū)小于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));
}
}