0Pricing
Lua Academy · Aula

Formatando datas

Crie strings de data legíveis.

Formatando datas é uma aula grátis de Lua Academy no CoddyKit. Esta é a aula 2 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de Lua Academy, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de Lua Academy inclui 4 aulas no total.

Moldando a saída

Você já sabe que os.date pode formatar time. Esta lição se concentra na própria cadeia de caracteres de formato: os pequenos códigos % que definem exatamente como um date aparece.

Dominar esses códigos permite produzir dates em qualquer estilo, de 2024-03-09 a Saturday, March 9.

print(os.date("%Y-%m-%d"))

Ano, mês e dia

Os principais códigos de date são %Y para o ano com quatro dígitos, %m para o mês com dois dígitos (01-12) e %d para o dia com dois dígitos (01-31).

Qualquer elemento que não seja um código, como os hífens deste exemplo, é impresso exatamente como foi escrito.

print(os.date("%Y/%m/%d"))
print(os.date("%d-%m-%Y"))

Horas, minutos e segundos

Para o relógio, use %H para a hora no formato de 24 horas (00-23), %M para os minutos e %S para os segundos.

Cada valor tem dois dígitos, preenchidos com um zero à esquerda quando necessário, para que os horários sempre fiquem bem alinhados.

print(os.date("%H:%M:%S"))

Relógio de 12 horas

Prefere o estilo AM/PM? Use %I para a hora no formato de 12 horas (01-12) e %p para AM ou PM.

Combiná-los produz um horário amigável, como 03:45 PM, que muitas pessoas consideram mais fácil de ler.

print(os.date("%I:%M %p"))

Nomes dos dias

Lua pode escrever os dias da semana por extenso. %A fornece o nome completo, como segunda-feira, enquanto %a fornece a forma abreviada, como seg.

Esses nomes seguem a localidade do seu sistema, portanto aparecem no idioma configurado na sua máquina.

print(os.date("%A"))
print(os.date("%a"))

Nomes dos meses

Os meses funcionam da mesma forma. %B fornece o nome completo do mês, como março, e %b fornece a forma abreviada, como mar.

Combine nomes com números para criar uma cadeia de caracteres de date no estilo de um título.

print(os.date("%B %d, %Y"))

Um date completo e amigável

Encadeando códigos e texto comum, você pode escrever praticamente qualquer frase. Aqui, o dia da semana, o mês, o dia e o ano se combinam em uma linha fácil de ler.

Observe que a vírgula e os espaços são apenas caracteres comuns entre os códigos.

print(os.date("%A, %B %d, %Y"))

Formatando um time armazenado

A formatação não se limita ao time atual. Passe um número de time salvo como segundo argumento e você poderá formatar qualquer momento no mesmo estilo.

É assim que os registros mostram quando cada evento passado aconteceu.

local t = os.time({year=2022, month=12, day=25})
print(os.date("%A, %B %d, %Y", t))

Dia do ano e da semana

Alguns códigos adicionais são úteis para fazer contagens. %j fornece o dia do ano (001-366), e %w fornece o número do dia da semana, sendo domingo 0.

Eles ajudam com barras de progresso e lógica de agendamento.

local t = os.time({year=2024, month=2, day=1})
print("Day of year:", os.date("%j", t))
print("Weekday num:", os.date("%w", t))

Escapando o sinal de porcentagem

E se você quiser um sinal de porcentagem literal na saída? Escreva %%, e Lua imprimirá um único %.

Isso evita confusão quando um símbolo de porcentagem aparece ao lado de um código de formato.

print(os.date("Loaded 100%% on %Y-%m-%d"))

Construindo nomes de arquivos

Um truque comum é colocar uma marca temporal em um nome de arquivo. Códigos como %Y%m%d_%H%M%S produzem uma cadeia de caracteres ordenável e sem espaços.

Os arquivos nomeados dessa forma são naturalmente ordenados em ordem cronológica em qualquer pasta.

local name = os.date("backup_%Y%m%d.txt")
print(name)

Verificação rápida

Escolha o código adequado para cada tarefa.

Recapitulação

As cadeias de caracteres de formato combinam códigos % com texto comum. Códigos importantes: %Y %m %d para o date, %H %M %S para o time e %A %B para nomes.

Use %I %p para o estilo de 12 horas, %% para um sinal de porcentagem literal e passe um número de time para formatar momentos passados. Com eles, você pode moldar dates da maneira que quiser.

Perguntas Frequentes

A aula “Formatando datas” é grátis?

Sim — o texto completo de “Formatando datas” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de Lua Academy, atualize para CoddyKit PRO. O curso de Lua Academy inclui 4 aulas no total.

O que vou aprender em “Formatando datas”?

Crie strings de data legíveis. Você pratica Lua Academy com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.

Preciso ter experiência prévia para começar Lua Academy?

Nenhuma experiência prévia é necessária. Lua Academy no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 2 de 4.

Quanto tempo leva a aula “Formatando datas”?

A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.

Posso escrever e executar código nesta aula de Lua Academy?

Sim. Cada aula de Lua Academy inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.

Todas as aulas deste curso

  1. os.time e os.date
  2. Formatando datas
  3. Aritmética de tempo
  4. Medindo durações
← Voltar para Lua Academy