Ich denke eher, dass seit Beginn von One Piece bis zum Timeskip ein paar Monate vergangen sind. Nehmen wir mal die Fischmenscheninsel als Beispiel:
Als sie in die Neue Welt gesegelt sind war es Tag, dann haben sie ihr Unwesen auf Punk Hazard getrieben, den ganzen Tag und dann wurde es erst Nacht und sie sahen als sie aufwachten die Morgenzeitung. Der jetzige Dressrosa Arc zieht sich also den ganzen Tag noch entlang und es sind bisher nur zwei Nächte vergangen, das waren schon mehr als 120 Kapitel.
Das gleiche gilt natürlich auch für so gut wie jeden anderen Arc. Meistens spielt sich ein Arc einen oder zwei Tage ab und dann segeln sie weiter. Nur die Reise von Insel zu Insel wird eventuell miteinberechnet, nämlich ca. ne Woche oder so.
Wenn also Ruffy mit 17 Jahren lossegelte und nur ca. 1-2 Monate vergangen sind, danach ein zwei Jahre langer Timeskip kam, dann ist es vollkommen logisch für mich, dass er zur Zeit 19 ist.
Das ist nun mal One Piece, im echten Leben, würde man mehrere Wochen mit einem Segelschiff brauchen, um von Insel zu Insel zu segeln, wobei das insgesamt betrachtet auch nur paar Monate daueren würde, so ne Weltumsegelung. Deshalb find ich es schon nahezu ziemlich realistisch den Zeitablauf in One Piece, was für mich also kein Fehler in der Story ist^^