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
- os.time e os.date
- Formatando datas
- Aritmética de tempo
- Medindo durações