SwiftHTML & CSSSolidityDesenvolvimento de JogosSolana/Rust
21.03.2025

Convertendo Datas Gregorianas para Persas: JS e HTML

Resposta Rápida

Para converter uma data para o formato persa, utilize Intl.DateTimeFormat com a localidade 'fa-IR' e o parâmetro calendar: 'persian':

let dataPersa = new Intl.DateTimeFormat('fa-IR', { calendar: 'persian' }).format(new Date());
console.log(dataPersa); // Bem-vindo ao mundo das datas persas!

Importante: A API de Internacionalização é sua ferramenta para conversões fáceis.

Personalizando o Formato de Data

Deseja representar a data de uma forma mais detalhada? Você pode convertê-la para um formato mais detalhado usando as seguintes options:

let options = { year: 'numeric', month: 'long', day: 'numeric' };
let dataPersa = new Intl.DateTimeFormat('fa-IR-u-nu-latn', options).format(new Date());
console.log(dataPersa); /* Esta é a data persa em toda a sua glória! */

Incluindo Números Latinos na Mistura

Para incluir dígitos latinos na data persa, utilize a tag de idioma 'fa-IR-u-nu-latn':

let dataPersa = new Intl.DateTimeFormat('fa-IR-u-nu-latn').format(new Date());
console.log(dataPersa); // Números latinos a serviço do sistema calendarístico persa!

Você Deve Usar Bibliotecas para Manipulação de Datas em JavaScript?

Trabalhar com datas em JavaScript pode ser complicado, como tentar fazer um esquilo inquieto dormir. No entanto, existem bibliotecas como jalali-moment e jalaali-js que podem ajudá-lo a enfrentar essa tarefa:

const moment = require('jalali-moment');
let dataPersa = moment(new Date()).locale('fa').format('YYYY/MM/DD');
console.log(dataPersa); /* É como se embarcássemos em uma jornada pelo calendário persa! */

Superando Diferenças de Calendário

Para lidar com as nuances dos calendários, incluindo anos bissextos e vários formatos, o conhecimento tanto do calendário Jalali quanto do gregoriano será útil!

Visualização

Ilustrações de emoji representam o processo de conversão:

📅 Data Gregoriana: "2023-04-06"
       |
       | (funçãoDeConversao())
       V
🗓️ Data Persa: "1402-01-17"

Pode-se dizer que parece estar entrando em uma máquina do tempo:

Antes: [⏳📆]
        funçãoDeConversao()
Depois:  [🌅📆]

Em outras palavras, essa transição leva a diferentes eras culturais.

Como Tornar Seu Código Robusto para Datas Persas

A simples conversão de datas não é suficiente. Aqui está o que considerar para tornar seu código confiável:

Tratamento de Exceções:

  • Verifique cada etapa: considere as especificidades do calendário, especialmente os anos bissextos persas.
  • Fusos horários podem ser confusos: esteja preparado para discrepâncias de fuso horário; caso contrário, podem afetar o resultado da conversão.
  • As configurações de localização podem variar: tenha atenção às variações locais na representação de datas.

Soluções de Biblioteca:

  • jalali-moment oferece suporte para datas e horários complexos, disponibilizando vários formatos e processamento eficiente do tempo.
  • jalaali-js proporciona facilidade e simplicidade nas conversões de datas.

Recursos, não Bugs:

Apresente aos usuários as datas em um prato cultural. Semanas e meses devem ser claros e familiares para eles.

Gestão de Código: Dicas para Você

Siga estas dicas para manter o código limpo:

  • Simplicidade: Evite a repetição de código utilizando funções embutidas do JavaScript.
  • Mantenha-se Atualizado: Fique a par dos últimos desenvolvimentos em padrões web e ECMAScript.
  • Comentar é Chave: Seu código deve ser compreensível — lembre-se de deixar comentários.
  • Teste Tudo, Sempre: Certifique-se de que o código funcione em diferentes navegadores e considere situações excepcionais.

Recursos Úteis

  1. repositório moment-jalaali no GitHub — Converta datas utilizando o plugin moment.js.
  2. repositório PersianDate no GitHub — Uma biblioteca JavaScript para trabalhar com datas persas.
  3. Intl.DateTimeFormat - JavaScript | MDN — Referência para a API de Internacionalização ECMAScript.
  4. Calendário Jalali - Wikipédia — Descrição do calendário Jalali: uma visão geral útil.
  5. Página inicial do Moment.js — Uma biblioteca para trabalhar com datas e horários.
  6. Date.prototype.toLocaleDateString() - JavaScript | MDNtoLocaleDateString: guia para localização de datas em JavaScript.

Video

Did you like this article? Rate it from 1 to 5:

Thank you for voting!