Este não é um problema de relógio, mas um problema de fuso horário. Para isso, você precisa entender a diferença entre o UTC e a hora local.
Então provavelmente o seu script Ruby não é capaz de ver a diferença ou interpretar erroneamente a configuração do fuso horário global. Mas para ter certeza você tem que dar mais informações. Por exemplo, se o relógio está definido para UTC ou hora local? qual é o fuso horário local ou o deslocamento para o UTC? Qual distribuição Linux você usa? Leia como configurar fusos horários em sua distribuição Linux específica.