A data é um parâmetro de todo o sistema que é crucial para o sistema (não para o usuário). Ele aparece nos registros de data e hora do sistema de arquivos, no log, na operação do daemon, no agendamento e assim por diante. Muitos programas quebram ou podem até corromper seu sistema se a data não estiver correta. Portanto, nesse sentido, o tempo tem que ser continuamente crescente e correto, não apenas localmente, mas se qualquer rede não www for feita, também globalmente. Até os certificados param de funcionar se houver muita diferença de horário entre o cliente e o servidor.
Portanto, neste sentido, a data / hora do sistema é apenas uma - a data / hora real (preferencialmente em UTC, caso contrário o sistema de arquivos do seu laptop pode quebrar quando você muda de fuso horário).
Por outro lado, a configuração de fuso horário é apenas uma camada de conversão do UTC para a data / hora que é apresentada ao usuário. Isso pode ser alterado (veja o comentário de X Tian). Mas eu não sei se é isso que você quer - só pode definir um inteiro (às vezes frações de números inteiros) número de horas, nunca mais que um dia. É tecnicamente possível construir um fuso horário personalizado para induzir um atraso arbitrário, mas é um hack feio.
Toda a manipulação básica do tempo ainda lida com a hora do unix (um inteiro que marca uniformemente a partir de 1/1/1970), então o código do idioma (fuso horário e material) geralmente é usado apenas para exibição visual de tempo ou usos específicos em scripts que dependem dessa funcionalidade. Por exemplo, a função date
chamadas clock_gettime
que recupera a hora do sistema e, em seguida, chama localtime
para converter na localidade atual. A representação interna é sempre a hora do sistema.
Pode haver módulos especiais do kernel para fazer isso - ou bibliotecas de substituição. Você pode criar uma biblioteca corrompida com a função clock_gettime
adaptada e torná-la visível para um usuário. Não tenho ideia de como isso afetaria seu sistema. A manipulação do sistema de arquivos e coisas assim ainda são tratadas pelo kernel, então o essencial funcionaria. No entanto, agendamento, instalações de backup e makefiles podem não funcionar corretamente.
EDIT: talvez o que você quer é uma máquina virtual. Isso é mais isolado e se você quiser mudar a hora, você pode. Às vezes é útil contornar falhas de software acionadas por tempo.