Setting User's Local Time on CesiumJS

Hello,
I have a fresh nextjs reactjs typescript app, below is the way I attempt to set the user’s current time, though it doesnt work, still showing UTC time, I am at UTC-5.

      let currentTime = CesiumJs.JulianDate.fromDate(new Date());
      let clock = new CesiumJs.Clock({
        startTime: currentTime,
        currentTime: currentTime,
        clockStep: CesiumJs.ClockStep.SYSTEM_CLOCK_MULTIPLIER,
      });
      cesiumViewer.current = new CesiumJs.Viewer(cesiumContainerRef.current, {
        terrain: CesiumJs.Terrain.fromWorldTerrain(),
        clockViewModel: new CesiumJs.ClockViewModel(clock),
      });

I also tried:

      cesiumViewer.current = new CesiumJs.Viewer(cesiumContainerRef.current, {
        terrain: CesiumJs.Terrain.fromWorldTerrain(),
        automaticallyTrackDataSourceClocks: false,
      });

      if (cesiumViewer.current) {
        cesiumViewer.current.clock.currentTime = CesiumJs.JulianDate.now();
      }

      cesiumViewer.current.clock.clockStep =
        CesiumJs.ClockStep.SYSTEM_CLOCK_MULTIPLIER;
    }

also tried

      let currentTime = CesiumJs.JulianDate.fromDate(new Date()); 
      let clock = new CesiumJs.Clock({
        startTime: currentTime,
        currentTime: currentTime,
        clockStep: CesiumJs.ClockStep.SYSTEM_CLOCK_MULTIPLIER,
      });

      let clockViewModel = new CesiumJs.ClockViewModel(clock);

      cesiumViewer.current = new CesiumJs.Viewer(cesiumContainerRef.current, {
        terrain: CesiumJs.Terrain.fromWorldTerrain(),
        automaticallyTrackDataSourceClocks: false,
        clockViewModel: clockViewModel,
      });

      if (cesiumViewer.current) {
        cesiumViewer.current.clock.currentTime = CesiumJs.JulianDate.now(); 
      }

image

Some playing around this is the solution

      if (cesiumViewer.current) {
        const currentDate = new Date();
        const timezoneOffsetMinutes = currentDate.getTimezoneOffset();
        const localTimeIso = new Date(
          currentDate.getTime() - timezoneOffsetMinutes * 60000
        ).toISOString();
        cesiumViewer.current.clock.currentTime =
          CesiumJs.JulianDate.fromIso8601(localTimeIso);
      }

it’ll find user’s current timezone and set the time on the map to that