ChartDirector does not need time zone. It just displays the yyyy-mm-dd hh:nn:ss from your input.
For example, if you use Chart.CTime(2021, 3, 20, 17, 45, 10), then it just displays 2021-03-20 17:45:10. It does not need to know what is the time zone.
From your code, it seems it is written in Java. If you use Chart.CTime(d) where d is a java.util.Date, then it obtains the yyyy-mm-dd hh:nn:ss from the Date object using d.getYear(), d.getMonth(), etc.. If you see local time, it is probably because the Date object uses local time zone to determine the yyyy-mm-dd hh:nn:ss.
If you want to control the time zone to use, you may use the GregorianCalendar, which is also support in ChartDirector for Java. The GregorianCalendar has an API to configure the time zone. For example:
GregorianCalendar startGMT = new GregorianCalendar(myTimeZone);
then use Chart.CTime(startGMT).
Another method is use to Chart.CTime(yyyy, mm, dd, hh, nn, ss) to directly specify the date/time you want to see on the chart.