package com.app.demo1;

import java.time.*;
import java.time.format.DateTimeFormatter;


public class GhanaToBeijingConverter {


    public static void main(String[] args) {
        String ghanaTime = "2023-08-26 12:00:00";
        ZonedDateTime beijingTime = convertToBeijingTime(ghanaTime);

        DateTimeFormatter outputFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss z");
        System.out.println("Ghana Time: " + ghanaTime);
        System.out.println("Beijing Time: " + beijingTime.format(outputFormatter));
    }


    public static ZonedDateTime convertToBeijingTime(String ghanaTime) {
        // Parse the input Ghana time
        DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
        LocalDateTime localDateTime = LocalDateTime.parse(ghanaTime, formatter);

        // Convert to Ghana time zone (GMT)
        ZoneId ghanaZone = ZoneId.of("Africa/Accra");
        ZonedDateTime ghanaZonedDateTime = localDateTime.atZone(ghanaZone);

        // Convert to Beijing time zone (GMT+8)
        ZoneId beijingZone = ZoneId.of("Asia/Shanghai");
        ZonedDateTime beijingZonedDateTime = ghanaZonedDateTime.withZoneSameInstant(beijingZone);

        return beijingZonedDateTime;
    }

}
