Convert Date/Time for given Timezone - java

前端 未结 16 2465
孤城傲影
孤城傲影 2020-11-22 12:36

I want to convert this GMT time stamp to GMT+13:

2011-10-06 03:35:05

I have tried about 100 different combinations of DateFormat, TimeZone,

16条回答
  •  一向
    一向 (楼主)
    2020-11-22 12:47

    public Timestamp convertLocalTimeToServerDatetime(String dt,String timezone){
    
        String clientDnT = dt ;// "2017-06-01 07:20:00";
        try{
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        Date date = sdf.parse(clientDnT);
        TimeZone tz = TimeZone.getTimeZone(timezone.trim()); // get time zone of user
        sdf.setTimeZone(tz);
    
        // Convert to servertime zone 
        SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        TimeZone tzInAmerica = TimeZone.getDefault();
        sdf1.setTimeZone(tzInAmerica);
    
        // assign date to date
        String serverDate = sdf1.format(date);
    
        // Convert to servertime zone to Timestamp
        Date date2 =  sdf.parse(serverDate);
        Timestamp tsm = new Timestamp(date2.getTime());
        return  tsm;
        }
        catch(Exception e){
            System.err.println(e);
        }
    
        return null;
    }
    

提交回复
热议问题