Your code doesn't write the changed time back to the RTC.
This one should work:
Code:
#include <Arduino.h>
#include <TimeLib.h>
void setup()
{
while (!Serial) {}
time_t t = Teensy3Clock.get(); // Read out the current RTC time...
setTime(t); // ... and store it to the system clock
Serial.printf("Teensy 4.0 clock before: %d:%02d:%02d\n", hour(), minute(), second());
t -= 60 * 60; // subtract 1 hour
setTime(t); // and write new time to the system clock
Teensy3Clock.set(t); // <---- WRITE THE NEW TIME BACK TO THE RTC
Serial.printf("Teensy 4.0 clock after: %d:%02d:%02d\n", hour(), minute(), second());
}
void loop()
{
Serial.printf("Teensy 4.0 clock reads: %d:%02d:%02d\n", hour(), minute(), second());
delay(1000);
}