Convert NTP time to integer

Here's your function using a tm struct.

I did not test it, but all your original code needed was hh, mm and ss.

void printLocalTime() {
 struct tm timeinfo;
 if (!getLocalTime(&timeinfo)) {
   Serial.println("Failed to obtain time");
   return;
 }

 int hh = timeinfo.tm_hour;   // 24-hour format
 int mm = timeinfo.tm_min;
 int ss = timeinfo.tm_sec;

 // Convert hour to 12-hour format and map to pixel ring
 unsigned char hourPos = ((hh % 12) * 5 + (mm + 6) / 12);

 Ring.setPixelColor((hourPos + 59) % 60, Ring.Color(255, 0, 0)); // red blur left
 Ring.setPixelColor((hourPos) % 60, Ring.Color(255, 0, 0));      // red center
 Ring.setPixelColor((hourPos + 1) % 60, Ring.Color(255, 0, 0));  // red blur right

 Ring.setPixelColor(mm % 60, Ring.Color(0, 255, 0));  // green minute
 Ring.setPixelColor(ss % 60, Ring.Color(0, 0, 255));  // blue second

 Ring.show();
}

HTH

a7