
Nei sistemi operativi Unix e Unix-like il tempo viene rappresentato come offset in secondi non-intercalari (vedi Leap Second) rispetto alla mezzanotte (UTC) del giorno di giovedì 1º gennaio 1970; tale istante temporale è chiamato epoca.
Per esempio, il 9 settembre 2001 alle ore 03:46:40 CET il valore di tale offset era pari a un miliardo, indicando appunto che in quell'istante erano trascorsi un miliardo di secondi rispetto all'epoca. Per rappresentare tale offset viene usato il tipo time_t.
Questo tipo di rappresentazione, oltre ad essere molto compatta, è indipendente dai fusi orari, risultando direttamente confrontabile anche tra calcolatori situati a grandi distanze geografiche tra loro, ed evita di dover effettuare aggiustamenti, nel caso per esempio di dati trasmessi da un fuso orario all'altro. Lo svantaggio è che per avere una rappresentazione sotto forma di date e ore calendariali e locali è necessario effettuare una conversione; il sistema operativo offre allo scopo delle funzioni che consentono di effettuarle in entrambe le direzioni.
Nei calcolatori e nei sistemi operativi a 32 bit il tipo time_t è comunemente un tipo di dato numerico intero a 32 bit con segno. Il 19 gennaio 2038 alle ore 03:14:08 (GMT) il numero di secondi trascorsi dall'epoca raggiungerà il valore di 231, che è al di fuori dei valori rappresentabili da tale tipo di dato. Tali calcolatori e sistemi operativi potranno quindi riscontrare problemi e malfunzionamenti, non essendo più in grado di memorizzare correttamente il valore che indica la data corrente.