<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/"
    xmlns:atom="http://www.w3.org/2005/Atom" xmlns:media="http://search.yahoo.com/mrss/" version="2.0">
    <channel>
        
        <title>
            <![CDATA[ Isabella Nunes - freeCodeCamp.org ]]>
        </title>
        <description>
            <![CDATA[ Aprenda a codificar - de graça. Tutoriais de programação em Python, JavaScript, Linux e muito mais. ]]>
        </description>
        <link>https://www.freecodecamp.org/portuguese/news/</link>
        <image>
            <url>https://cdn.freecodecamp.org/universal/favicons/favicon.png</url>
            <title>
                <![CDATA[ Isabella Nunes - freeCodeCamp.org ]]>
            </title>
            <link>https://www.freecodecamp.org/portuguese/news/</link>
        </image>
        <generator>Eleventy</generator>
        <lastBuildDate>Tue, 19 May 2026 10:02:59 +0000</lastBuildDate>
        <atom:link href="https://www.freecodecamp.org/portuguese/news/author/isadfrn/rss.xml" rel="self" type="application/rss+xml" />
        <ttl>60</ttl>
        
            <item>
                <title>
                    <![CDATA[ O guia definitivo para usar o Date e o Moment.js no JavaScript ]]>
                </title>
                <description>
                    <![CDATA[ Boas-vindas ao guia definitivo para o objeto Date e para o Moment.js. Este tutorial ensinará tudo o que você precisa saber para trabalhar com datas em seus projetos. Como criar um objeto Date Retornar a data e hora atual const agora = new Date(); // Fri Jun 09 2023 14:17:20 ]]>
                </description>
                <link>https://www.freecodecamp.org/portuguese/news/o-guia-definitivo-para-usar-o-date-e-o-moment-js-no-javascript/</link>
                <guid isPermaLink="false">64835b643aab28058e3815dd</guid>
                
                    <category>
                        <![CDATA[ JavaScript ]]>
                    </category>
                
                <dc:creator>
                    <![CDATA[ Isabella Nunes ]]>
                </dc:creator>
                <pubDate>Wed, 02 Aug 2023 21:00:00 +0000</pubDate>
                <media:content url="https://www.freecodecamp.org/portuguese/news/content/images/2023/07/5f9c9ee7740569d1a4ca3fce.jpg" medium="image" />
                <content:encoded>
                    <![CDATA[ <p data-test-label="translation-intro">
        <strong>Artigo original:</strong> <a href="https://www.freecodecamp.org/news/the-ultimate-guide-to-javascript-date-and-moment-js/" target="_blank" rel="noopener noreferrer" data-test-label="original-article-link">The Ultimate Guide to JavaScript Date and Moment.js</a>
      </p><p>Boas-vindas ao guia definitivo para o objeto <code>Date</code> e para o Moment.js. Este tutorial ensinará tudo o que você precisa saber para trabalhar com datas em seus projetos.</p><h2 id="como-criar-um-objeto-date"><strong>Como criar um objeto<strong> <code>Date</code></strong></strong></h2><h3 id="retornar-a-data-e-hora-atual"><strong>Retornar a data e hora atual</strong></h3><pre><code class="language-js">const agora = new Date();

// Fri Jun 09 2023 14:17:20 GMT-0300 (Brasilia Standard Time)</code></pre><h3 id="retornar-a-data-e-hora-com-valores-individuais"><strong>Retornar a data e hora com valores individuais</strong></h3><pre><code class="language-js">const dataEspecifica = new Date(2023, 5, 9, 15, 0, 0, 0);

// Fri Jun 09 2023 15:00:00 GMT-0300 (Brasilia Standard Time)</code></pre><p>A sintaxe é: <code>Date(ano, mês, dia, hora, minuto, segundo, milissegundo)</code>.</p><p>Note que os meses são indexados iniciando pelo zero, ou seja, começam com janeiro sendo 0 e finalizam com dezembro sendo 11.</p><h3 id="retornar-a-data-e-hora-de-um-timestamp"><strong>Retornar a data e hora de um<strong> timestamp</strong></strong></h3><pre><code class="language-js">const unixEpoch = new Date(0);</code></pre><p>O <em>epoch</em> representa a hora que ocorreu na quinta-feira, 1º de janeiro de 1970 (UTC), ou seja, o tempo conhecido como <em>Epoch Unix</em> (ou <em>Unix time</em>). O <em>Epoch Unix </em>é importante porque é o que o JavaScript, o Python, o PHP e outras linguagens e sistemas usam internamente para calcular o horário atual.</p><p><code>new Date(ms)</code> retorna a data do <em>epoch </em>mais o número de milissegundos que você passar. Em um dia, há 86.400.000 milissegundos, então:</p><pre><code class="language-js">const diaDepoisDoEpoch = new Date(86400000);</code></pre><p>retornará Friday, January 2nd, 1970 (UTC) (Sexta-feira, 2 de Janeiro de 1970).</p><h3 id="obtenha-uma-data-e-hora-a-partir-de-uma-string">Obtenha uma data e hora a partir de uma string</h3><pre><code class="language-js">const stringParaData = new Date('May 29, 2019 15:00:00');

// Wed May 29 2019 15:00:00 GMT-0400 (Eastern Daylight Time)</code></pre><p>Obter a data dessa maneira é muito flexível. Todos os exemplos abaixo retornam objetos do tipo <code>Date</code> válidos:</p><pre><code class="language-js">new Date('2019-06') // June 1st, 2019 00:00:00
new Date('2019-06-16') // June 16th, 2019
new Date('2019') // January 1st, 2019 00:00:00
new Date('JUNE 16, 2019')
new Date('6/23/2019')</code></pre><p>Você pode também usar o método <code>Date.parse()</code> a fim de retornar o número de milissegundos desde o <em>epoch</em> (1 de Janeiro de 1970):</p><pre><code class="language-js">Date.parse('1970-01-02') // 86400000
Date.parse('6/16/2019') // 1560610800000</code></pre><h3 id="definindo-um-fuso-hor-rio"><strong>Definindo um fuso horário</strong></h3><p>Quando você passa uma string de data sem definir um fuso horário, o JavaScript assumirá que a data/tempo está usando o UTC, antes de convertê-la para o fuso horário que seu navegador está utilizando:</p><pre><code class="language-js">const dataDeNascimentoExata = new Date('6/13/2018 06:27:00');

console.log(dataDeNascimentoExata) // Wed Jun 13 2018 06:27:00 GMT+0900 (Korean Standard Time)</code></pre><p>Isso pode levar a alguns erros quando a data a ser retornada desvia-se por muitas horas. Para evitar isso, passe um fuso horário junto da string:</p><pre><code class="language-js">const dataDeNascimentoExata = new Date('6/13/2018 06:27:00 GMT-1000');

console.log(dataDeNascimentoExata) // Thu Jun 14 2018 01:27:00 GMT+0900 (Korean Standard Time)

/*
Outros formatos que também funcionam:

new Date('6/13/2018 06:27:00 GMT-10:00');
new Date('6/13/2018 06:27:00 -1000');
new Date('6/13/2018 06:27:00 -10:00');
*/</code></pre><p>Você também pode passar alguns, mas não todos os fusos horários existentes:</p><pre><code class="language-js">const dataDeNascimentoExata = new Date('6/13/2018 06:27:00 PDT');

console.log(dataDeNascimentoExata) // Thu Jun 14 2018 01:27:00 GMT+0900 (Korean Standard Time)</code></pre><h2 id="m-todos-do-objeto-date"><strong>Métodos do objeto </strong><code><strong><strong>Date</strong></strong></code></h2><p>Em diversos momentos você não precisará da data completa, apenas de parte dela, como o dia, semana ou mês. Felizmente, existem diversos métodos para se fazer isso:</p><pre><code class="language-js">const dataDeNascimento = new Date('6/13/2018 06:27:39');

dataDeNascimento.getMonth() // 5 (0 é janeiro)
dataDeNascimento.getDate() // 13
dataDeNascimento.getDay() // 3 (0 é domingo)
dataDeNascimento.getFullYear() // 2018
dataDeNascimento.getTime() // 1528838859000 (milisegundos desde o epoch)
dataDeNascimento.getHours() // 6
dataDeNascimento.getMinutes() // 27
dataDeNascimento.getSeconds() // 39
dataDeNascimento.getTimezoneOffset() // -540 (deslocamento do fuso horário em minutos com base na localização do seu navegador)</code></pre><h2 id="facilite-o-trabalho-com-datas-com-o-moment-js"><strong>Facilite o trabalho com datas com o <strong>Moment.js</strong></strong></h2><p>Acertar datas e horários não é uma tarefa fácil. Cada país tem uma maneira diferente de formatar datas e contabilizar diferentes fusos horários (como, por exemplo, o horário de verão) leva muito tempo. É aí que o Moment.js brilha – ele facilita a análise, formatação e a exibição de datas.</p><p>Para começar a usar o Moment.js, instale-o por meio de um gerenciador de pacotes, como o npm, ou adicione-o ao seu site por meio de uma CDN. Consulte <a href="https://momentjs.com/docs/">a documentação do Moment.js</a> para mais detalhes.</p><h3 id="obter-a-data-e-hora-atual-com-o-moment-js">Obter a data e hora atual com<strong><strong> </strong>o <strong>Moment.js</strong></strong></h3><pre><code class="language-js">const agora = moment();</code></pre><p>Isso retorna um objeto com a data e a hora com base na localização do navegador, juntamente com outras informações de localidade. É semelhante ao <code>new Date()</code> do JavaScript.</p><h3 id="obter-uma-data-e-hora-de-um-timestamp-com-o-moment-js">Obter uma data e hora de um <strong><strong>timestamp</strong></strong> com<strong><strong> </strong>o<strong> Moment.js</strong></strong></h3><p>Semelhante ao <code>new Date(ms)</code>, você pode passar o número de milissegundos desde o <em>epoch </em>até o <code>moment()</code>:</p><pre><code class="language-js">const diaDepoisDoEpoch = moment(86400000);</code></pre><p>Se você quiser obter uma data e hora usando um timestamp do Unix em segundos, você pode usar o método <code>unix()</code>:</p><pre><code class="language-js">const diaDepoisDoEpoch = moment.unix(86400);</code></pre><h3 id="obter-uma-data-e-hora-de-uma-string-com-moment-js">Obter uma data e hora de uma <strong>string<strong> </strong>com <strong>Moment.js</strong></strong></h3><p>Analisar uma data no formato de uma string com o Moment.js é fácil e a biblioteca aceita <em>strings</em> no formato da ISO 8601 ou da RFC 2822, juntamente com qualquer <em>string</em> aceita pelo objeto <code>Date</code> do JavaScript.</p><p><em>Strings </em>no formato da ISO 8601 são recomendadas, uma vez que são um formato amplamente aceito. Aqui estão alguns exemplos:</p><pre><code class="language-js">moment('2019-04-21');
moment('2019-04-21T05:30');
moment('2019-04-21 05:30');

moment('20190421');
moment('20190421T0530');</code></pre><h3 id="definindo-um-fuso-hor-rio-com-o-moment-js"><strong>Definindo um fuso horário com o<strong> Moment.js</strong></strong></h3><p>Até agora, temos utilizado o Moment.js no <em>modo local</em>, o que significa que assumimos que qualquer <em>input</em> é uma data ou hora local, de modo semelhante ao do funcionamento do objeto <code>Date</code> do JavaScript.</p><pre><code class="language-js">const momentoExatoDoNascimento = moment('2018-06-13 06:27:00');

console.log(momentoExatoDoNascimento) // Wed Jun 13 2018 06:27:00 GMT+0900 (Korean Standard Time)</code></pre><p>No entanto, para definir um fuso horário, você primeiro precisa pegar o objeto Moment no modo <em><em>UTC:</em></em></p><pre><code class="language-js">const momentoExatoDoNascimento = moment.utc('2018-06-13 06:27:00');

console.log(momentoExatoDoNascimento) // Wed Jun 13 2018 15:27:00 GMT+0900 (Korean Standard Time)</code></pre><p>Então, você pode ajustar a diferença nos fusos horários com o método <code>utcOffset()</code>:</p><pre><code class="language-js">const momentoExatoDoNascimento = moment.utc('2018-06-13 06:27:00').utcOffset('+10:00');

console.log(momentoExatoDoNascimento) // Wed Jun 13 2018 06:27:00 GMT+0900 (Korean Standard Time)</code></pre><p>Você também pode definir a diferença dos fusos horários (<em>UTC offset</em>) como um número ou uma <em>string</em>:</p><pre><code class="language-js">moment.utc().utcOffset(10) // Número de horas de diferença
moment.utc().utcOffset(600) // Número de minutos de diferença
moment.utc().utcOffset('+10:00') // Número de horas de diferença como string</code></pre><p>Para usar fusos horários nomeados (<code>America/Los_Angeles</code>) ou códigos de fusos horários (<code>PDT</code>) com objetos Moment, configure a biblioteca <a href="https://momentjs.com/timezone/">Moment Timezone</a>.</p><h3 id="formatando-a-data-e-hora-com-o-moment-js"><strong>Formatando a data e hora com o<strong> Moment.js</strong></strong></h3><p>Uma das principais vantagens do Moment.js em relação aos objetos <code>Date</code> nativos do JavaScript é a facilidade de formatar a data e a hora de saída. Basta encadear o método <code>format()</code> para um objeto de data do Moment e passar uma string de formato como parâmetro:</p><pre><code class="language-js">moment().format('MM-DD-YY'); // "08-13-19"
moment().format('MM-DD-YYYY'); // "08-13-2019"
moment().format('MM/DD/YYYY'); // "08/13/2019"
moment().format('MMM Do, YYYY') // "Aug 13th, 2019"
moment().format('ddd MMMM Do, YYYY HH:mm:ss') // "Tues August 13th, 2019 19:29:20"
moment().format('dddd, MMMM Do, YYYY -- hh:mm:ss A') // "Tuesday, August 13th, 2019 -- 07:31:02 PM"</code></pre><p>Aqui está uma tabela com alguns tokens de formatação comuns:</p><!--kg-card-begin: html-->    <table class="tg" style="
        box-sizing: inherit;
        margin: 0.5em 0px 2.5em;
        padding: 0px;
        border: 0px;
        font-style: inherit;
        font-variant: inherit;
        font-weight: inherit;
        font-stretch: inherit;
        line-height: inherit;
        font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto,
          Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;
        font-optical-sizing: inherit;
        font-kerning: inherit;
        font-feature-settings: inherit;
        font-variation-settings: inherit;
        font-size: 1.6rem;
        vertical-align: top;
        border-spacing: 0px;
        border-collapse: collapse;
        display: inline-block;
        overflow-x: auto;
        max-width: 100%;
        width: auto;
        white-space: nowrap;
        background: radial-gradient(
              at left center,
              rgba(0, 0, 0, 0.2) 0px,
              rgba(0, 0, 0, 0) 75%
            )
            0px center / 10px 100% no-repeat scroll,
          radial-gradient(
              at right center,
              rgba(0, 0, 0, 0.2) 0px,
              rgba(0, 0, 0, 0) 75%
            )
            100% center / 10px 100% scroll;
      ">
      <tbody style="
          box-sizing: inherit;
          margin: 0px;
          padding: 0px;
          border: 0px;
          font-style: inherit;
          font-variant: inherit;
          font-weight: inherit;
          font-stretch: inherit;
          line-height: inherit;
          font-family: inherit;
          font-optical-sizing: inherit;
          font-kerning: inherit;
          font-feature-settings: inherit;
          font-variation-settings: inherit;
          font-size: 16px;
          vertical-align: baseline;
        ">
        <tr style="
            box-sizing: inherit;
            margin: 0px;
            padding: 0px;
            border: 0px;
            font-style: inherit;
            font-variant: inherit;
            font-weight: inherit;
            font-stretch: inherit;
            line-height: inherit;
            font-family: inherit;
            font-optical-sizing: inherit;
            font-kerning: inherit;
            font-feature-settings: inherit;
            font-variation-settings: inherit;
            font-size: 16px;
            vertical-align: baseline;
          ">
          <th class="tg-htb4" style="
              box-sizing: inherit;
              margin: 0px;
              padding: 6px 12px;
              border: var(--gray10) 1px solid;
              font-style: inherit;
              font-variant: inherit;
              font-weight: bold;
              font-stretch: inherit;
              line-height: inherit;
              font-family: Lato !important;
              font-optical-sizing: inherit;
              font-kerning: inherit;
              font-feature-settings: inherit;
              font-variation-settings: inherit;
              font-size: 2.2rem;
              vertical-align: top;
              overflow: hidden;
              word-break: normal;
              color: var(--gray85);
              letter-spacing: 0.2px;
              text-align: center;
              text-transform: uppercase;
              background-color: rgb(239, 239, 239);
            ">
            ENTRADA
          </th>
          <th class="tg-htb4" style="
              box-sizing: inherit;
              margin: 0px;
              padding: 6px 12px;
              border: var(--gray10) 1px solid;
              font-style: inherit;
              font-variant: inherit;
              font-weight: bold;
              font-stretch: inherit;
              line-height: inherit;
              font-family: Lato !important;
              font-optical-sizing: inherit;
              font-kerning: inherit;
              font-feature-settings: inherit;
              font-variation-settings: inherit;
              font-size: 2.2rem;
              vertical-align: top;
              overflow: hidden;
              word-break: normal;
              color: var(--gray85);
              letter-spacing: 0.2px;
              text-align: center;
              text-transform: uppercase;
              background-color: rgb(239, 239, 239);
            ">
            SAÍDA
          </th>
          <th class="tg-htb4" style="
              box-sizing: inherit;
              margin: 0px;
              padding: 6px 12px;
              border: var(--gray10) 1px solid;
              font-style: inherit;
              font-variant: inherit;
              font-weight: bold;
              font-stretch: inherit;
              line-height: inherit;
              font-family: Lato !important;
              font-optical-sizing: inherit;
              font-kerning: inherit;
              font-feature-settings: inherit;
              font-variation-settings: inherit;
              font-size: 2.2rem;
              vertical-align: top;
              overflow: hidden;
              word-break: normal;
              color: var(--gray85);
              letter-spacing: 0.2px;
              text-align: center;
              text-transform: uppercase;
              background-color: rgb(239, 239, 239);
            ">
            DESCRIÇÃO
          </th>
        </tr>
        <tr style="
            box-sizing: inherit;
            margin: 0px;
            padding: 0px;
            border: 0px;
            font-style: inherit;
            font-variant: inherit;
            font-weight: inherit;
            font-stretch: inherit;
            line-height: inherit;
            font-family: inherit;
            font-optical-sizing: inherit;
            font-kerning: inherit;
            font-feature-settings: inherit;
            font-variation-settings: inherit;
            font-size: 16px;
            vertical-align: baseline;
          ">
          <td class="tg-v1p6" style="
              box-sizing: inherit;
              margin: 0px;
              padding: 6px 12px;
              border: var(--gray10) 1px solid;
              font-style: inherit;
              font-variant: inherit;
              font-weight: inherit;
              font-stretch: inherit;
              line-height: inherit;
              font-family: Lato !important;
              font-optical-sizing: inherit;
              font-kerning: inherit;
              font-feature-settings: inherit;
              font-variation-settings: inherit;
              font-size: 2.2rem;
              vertical-align: top;
              overflow: hidden;
              word-break: normal;
              text-align: right;
              background-image: linear-gradient(
                to right,
                rgb(255, 255, 255) 50%,
                rgba(255, 255, 255, 0) 100%
              );
              background-size: 20px 100%;
              background-repeat: no-repeat;
            ">
            YYYY
          </td>
          <td class="tg-nh17" style="
              box-sizing: inherit;
              margin: 0px;
              padding: 6px 12px;
              border: var(--gray10) 1px solid;
              font-style: inherit;
              font-variant: inherit;
              font-weight: inherit;
              font-stretch: inherit;
              line-height: inherit;
              font-family: Lato !important;
              font-optical-sizing: inherit;
              font-kerning: inherit;
              font-feature-settings: inherit;
              font-variation-settings: inherit;
              font-size: 2.2rem;
              vertical-align: top;
              overflow: hidden;
              word-break: normal;
              text-align: left;
            ">
            2019
          </td>
          <td class="tg-nh17" style="
              box-sizing: inherit;
              margin: 0px;
              padding: 6px 12px;
              border: var(--gray10) 1px solid;
              font-style: inherit;
              font-variant: inherit;
              font-weight: inherit;
              font-stretch: inherit;
              line-height: inherit;
              font-family: Lato !important;
              font-optical-sizing: inherit;
              font-kerning: inherit;
              font-feature-settings: inherit;
              font-variation-settings: inherit;
              font-size: 2.2rem;
              vertical-align: top;
              overflow: hidden;
              word-break: normal;
              text-align: left;
              background-image: linear-gradient(
                to left,
                rgb(255, 255, 255) 50%,
                rgba(255, 255, 255, 0) 100%
              );
              background-position: 100% 0px;
              background-size: 20px 100%;
              background-repeat: no-repeat;
            ">
            Ano de 4 algarismos
          </td>
        </tr>
        <tr style="
            box-sizing: inherit;
            margin: 0px;
            padding: 0px;
            border: 0px;
            font-style: inherit;
            font-variant: inherit;
            font-weight: inherit;
            font-stretch: inherit;
            line-height: inherit;
            font-family: inherit;
            font-optical-sizing: inherit;
            font-kerning: inherit;
            font-feature-settings: inherit;
            font-variation-settings: inherit;
            font-size: 16px;
            vertical-align: baseline;
          ">
          <td class="tg-v1p6" style="
              box-sizing: inherit;
              margin: 0px;
              padding: 6px 12px;
              border: var(--gray10) 1px solid;
              font-style: inherit;
              font-variant: inherit;
              font-weight: inherit;
              font-stretch: inherit;
              line-height: inherit;
              font-family: Lato !important;
              font-optical-sizing: inherit;
              font-kerning: inherit;
              font-feature-settings: inherit;
              font-variation-settings: inherit;
              font-size: 2.2rem;
              vertical-align: top;
              overflow: hidden;
              word-break: normal;
              text-align: right;
              background-image: linear-gradient(
                to right,
                rgb(255, 255, 255) 50%,
                rgba(255, 255, 255, 0) 100%
              );
              background-size: 20px 100%;
              background-repeat: no-repeat;
            ">
            YY
          </td>
          <td class="tg-nh17" style="
              box-sizing: inherit;
              margin: 0px;
              padding: 6px 12px;
              border: var(--gray10) 1px solid;
              font-style: inherit;
              font-variant: inherit;
              font-weight: inherit;
              font-stretch: inherit;
              line-height: inherit;
              font-family: Lato !important;
              font-optical-sizing: inherit;
              font-kerning: inherit;
              font-feature-settings: inherit;
              font-variation-settings: inherit;
              font-size: 2.2rem;
              vertical-align: top;
              overflow: hidden;
              word-break: normal;
              text-align: left;
            ">
            19
          </td>
          <td class="tg-nh17" style="
              box-sizing: inherit;
              margin: 0px;
              padding: 6px 12px;
              border: var(--gray10) 1px solid;
              font-style: inherit;
              font-variant: inherit;
              font-weight: inherit;
              font-stretch: inherit;
              line-height: inherit;
              font-family: Lato !important;
              font-optical-sizing: inherit;
              font-kerning: inherit;
              font-feature-settings: inherit;
              font-variation-settings: inherit;
              font-size: 2.2rem;
              vertical-align: top;
              overflow: hidden;
              word-break: normal;
              text-align: left;
              background-image: linear-gradient(
                to left,
                rgb(255, 255, 255) 50%,
                rgba(255, 255, 255, 0) 100%
              );
              background-position: 100% 0px;
              background-size: 20px 100%;
              background-repeat: no-repeat;
            ">
            Ano de 2 algarismos
          </td>
        </tr>
        <tr style="
            box-sizing: inherit;
            margin: 0px;
            padding: 0px;
            border: 0px;
            font-style: inherit;
            font-variant: inherit;
            font-weight: inherit;
            font-stretch: inherit;
            line-height: inherit;
            font-family: inherit;
            font-optical-sizing: inherit;
            font-kerning: inherit;
            font-feature-settings: inherit;
            font-variation-settings: inherit;
            font-size: 16px;
            vertical-align: baseline;
          ">
          <td class="tg-v1p6" style="
              box-sizing: inherit;
              margin: 0px;
              padding: 6px 12px;
              border: var(--gray10) 1px solid;
              font-style: inherit;
              font-variant: inherit;
              font-weight: inherit;
              font-stretch: inherit;
              line-height: inherit;
              font-family: Lato !important;
              font-optical-sizing: inherit;
              font-kerning: inherit;
              font-feature-settings: inherit;
              font-variation-settings: inherit;
              font-size: 2.2rem;
              vertical-align: top;
              overflow: hidden;
              word-break: normal;
              text-align: right;
              background-image: linear-gradient(
                to right,
                rgb(255, 255, 255) 50%,
                rgba(255, 255, 255, 0) 100%
              );
              background-size: 20px 100%;
              background-repeat: no-repeat;
            ">
            MMMM
          </td>
          <td class="tg-nh17" style="
              box-sizing: inherit;
              margin: 0px;
              padding: 6px 12px;
              border: var(--gray10) 1px solid;
              font-style: inherit;
              font-variant: inherit;
              font-weight: inherit;
              font-stretch: inherit;
              line-height: inherit;
              font-family: Lato !important;
              font-optical-sizing: inherit;
              font-kerning: inherit;
              font-feature-settings: inherit;
              font-variation-settings: inherit;
              font-size: 2.2rem;
              vertical-align: top;
              overflow: hidden;
              word-break: normal;
              text-align: left;
            ">
            August
          </td>
          <td class="tg-nh17" style="
              box-sizing: inherit;
              margin: 0px;
              padding: 6px 12px;
              border: var(--gray10) 1px solid;
              font-style: inherit;
              font-variant: inherit;
              font-weight: inherit;
              font-stretch: inherit;
              line-height: inherit;
              font-family: Lato !important;
              font-optical-sizing: inherit;
              font-kerning: inherit;
              font-feature-settings: inherit;
              font-variation-settings: inherit;
              font-size: 2.2rem;
              vertical-align: top;
              overflow: hidden;
              word-break: normal;
              text-align: left;
              background-image: linear-gradient(
                to left,
                rgb(255, 255, 255) 50%,
                rgba(255, 255, 255, 0) 100%
              );
              background-position: 100% 0px;
              background-size: 20px 100%;
              background-repeat: no-repeat;
            ">
            Nome completo do mês
          </td>
        </tr>
        <tr style="
            box-sizing: inherit;
            margin: 0px;
            padding: 0px;
            border: 0px;
            font-style: inherit;
            font-variant: inherit;
            font-weight: inherit;
            font-stretch: inherit;
            line-height: inherit;
            font-family: inherit;
            font-optical-sizing: inherit;
            font-kerning: inherit;
            font-feature-settings: inherit;
            font-variation-settings: inherit;
            font-size: 16px;
            vertical-align: baseline;
          ">
          <td class="tg-v1p6" style="
              box-sizing: inherit;
              margin: 0px;
              padding: 6px 12px;
              border: var(--gray10) 1px solid;
              font-style: inherit;
              font-variant: inherit;
              font-weight: inherit;
              font-stretch: inherit;
              line-height: inherit;
              font-family: Lato !important;
              font-optical-sizing: inherit;
              font-kerning: inherit;
              font-feature-settings: inherit;
              font-variation-settings: inherit;
              font-size: 2.2rem;
              vertical-align: top;
              overflow: hidden;
              word-break: normal;
              text-align: right;
              background-image: linear-gradient(
                to right,
                rgb(255, 255, 255) 50%,
                rgba(255, 255, 255, 0) 100%
              );
              background-size: 20px 100%;
              background-repeat: no-repeat;
            ">
            MMM
          </td>
          <td class="tg-nh17" style="
              box-sizing: inherit;
              margin: 0px;
              padding: 6px 12px;
              border: var(--gray10) 1px solid;
              font-style: inherit;
              font-variant: inherit;
              font-weight: inherit;
              font-stretch: inherit;
              line-height: inherit;
              font-family: Lato !important;
              font-optical-sizing: inherit;
              font-kerning: inherit;
              font-feature-settings: inherit;
              font-variation-settings: inherit;
              font-size: 2.2rem;
              vertical-align: top;
              overflow: hidden;
              word-break: normal;
              text-align: left;
            ">
            Aug
          </td>
          <td class="tg-nh17" style="
              box-sizing: inherit;
              margin: 0px;
              padding: 6px 12px;
              border: var(--gray10) 1px solid;
              font-style: inherit;
              font-variant: inherit;
              font-weight: inherit;
              font-stretch: inherit;
              line-height: inherit;
              font-family: Lato !important;
              font-optical-sizing: inherit;
              font-kerning: inherit;
              font-feature-settings: inherit;
              font-variation-settings: inherit;
              font-size: 2.2rem;
              vertical-align: top;
              overflow: hidden;
              word-break: normal;
              text-align: left;
              background-image: linear-gradient(
                to left,
                rgb(255, 255, 255) 50%,
                rgba(255, 255, 255, 0) 100%
              );
              background-position: 100% 0px;
              background-size: 20px 100%;
              background-repeat: no-repeat;
            ">
            Nome do mês abreviado
          </td>
        </tr>
        <tr style="
            box-sizing: inherit;
            margin: 0px;
            padding: 0px;
            border: 0px;
            font-style: inherit;
            font-variant: inherit;
            font-weight: inherit;
            font-stretch: inherit;
            line-height: inherit;
            font-family: inherit;
            font-optical-sizing: inherit;
            font-kerning: inherit;
            font-feature-settings: inherit;
            font-variation-settings: inherit;
            font-size: 16px;
            vertical-align: baseline;
          ">
          <td class="tg-v1p6" style="
              box-sizing: inherit;
              margin: 0px;
              padding: 6px 12px;
              border: var(--gray10) 1px solid;
              font-style: inherit;
              font-variant: inherit;
              font-weight: inherit;
              font-stretch: inherit;
              line-height: inherit;
              font-family: Lato !important;
              font-optical-sizing: inherit;
              font-kerning: inherit;
              font-feature-settings: inherit;
              font-variation-settings: inherit;
              font-size: 2.2rem;
              vertical-align: top;
              overflow: hidden;
              word-break: normal;
              text-align: right;
              background-image: linear-gradient(
                to right,
                rgb(255, 255, 255) 50%,
                rgba(255, 255, 255, 0) 100%
              );
              background-size: 20px 100%;
              background-repeat: no-repeat;
            ">
            MM
          </td>
          <td class="tg-nh17" style="
              box-sizing: inherit;
              margin: 0px;
              padding: 6px 12px;
              border: var(--gray10) 1px solid;
              font-style: inherit;
              font-variant: inherit;
              font-weight: inherit;
              font-stretch: inherit;
              line-height: inherit;
              font-family: Lato !important;
              font-optical-sizing: inherit;
              font-kerning: inherit;
              font-feature-settings: inherit;
              font-variation-settings: inherit;
              font-size: 2.2rem;
              vertical-align: top;
              overflow: hidden;
              word-break: normal;
              text-align: left;
            ">
            08
          </td>
          <td class="tg-nh17" style="
              box-sizing: inherit;
              margin: 0px;
              padding: 6px 12px;
              border: var(--gray10) 1px solid;
              font-style: inherit;
              font-variant: inherit;
              font-weight: inherit;
              font-stretch: inherit;
              line-height: inherit;
              font-family: Lato !important;
              font-optical-sizing: inherit;
              font-kerning: inherit;
              font-feature-settings: inherit;
              font-variation-settings: inherit;
              font-size: 2.2rem;
              vertical-align: top;
              overflow: hidden;
              word-break: normal;
              text-align: left;
              background-image: linear-gradient(
                to left,
                rgb(255, 255, 255) 50%,
                rgba(255, 255, 255, 0) 100%
              );
              background-position: 100% 0px;
              background-size: 20px 100%;
              background-repeat: no-repeat;
            ">
            Mês com 2 algarismos
          </td>
        </tr>
        <tr style="
            box-sizing: inherit;
            margin: 0px;
            padding: 0px;
            border: 0px;
            font-style: inherit;
            font-variant: inherit;
            font-weight: inherit;
            font-stretch: inherit;
            line-height: inherit;
            font-family: inherit;
            font-optical-sizing: inherit;
            font-kerning: inherit;
            font-feature-settings: inherit;
            font-variation-settings: inherit;
            font-size: 16px;
            vertical-align: baseline;
          ">
          <td class="tg-v1p6" style="
              box-sizing: inherit;
              margin: 0px;
              padding: 6px 12px;
              border: var(--gray10) 1px solid;
              font-style: inherit;
              font-variant: inherit;
              font-weight: inherit;
              font-stretch: inherit;
              line-height: inherit;
              font-family: Lato !important;
              font-optical-sizing: inherit;
              font-kerning: inherit;
              font-feature-settings: inherit;
              font-variation-settings: inherit;
              font-size: 2.2rem;
              vertical-align: top;
              overflow: hidden;
              word-break: normal;
              text-align: right;
              background-image: linear-gradient(
                to right,
                rgb(255, 255, 255) 50%,
                rgba(255, 255, 255, 0) 100%
              );
              background-size: 20px 100%;
              background-repeat: no-repeat;
            ">
            M
          </td>
          <td class="tg-nh17" style="
              box-sizing: inherit;
              margin: 0px;
              padding: 6px 12px;
              border: var(--gray10) 1px solid;
              font-style: inherit;
              font-variant: inherit;
              font-weight: inherit;
              font-stretch: inherit;
              line-height: inherit;
              font-family: Lato !important;
              font-optical-sizing: inherit;
              font-kerning: inherit;
              font-feature-settings: inherit;
              font-variation-settings: inherit;
              font-size: 2.2rem;
              vertical-align: top;
              overflow: hidden;
              word-break: normal;
              text-align: left;
            ">
            8
          </td>
          <td class="tg-nh17" style="
              box-sizing: inherit;
              margin: 0px;
              padding: 6px 12px;
              border: var(--gray10) 1px solid;
              font-style: inherit;
              font-variant: inherit;
              font-weight: inherit;
              font-stretch: inherit;
              line-height: inherit;
              font-family: Lato !important;
              font-optical-sizing: inherit;
              font-kerning: inherit;
              font-feature-settings: inherit;
              font-variation-settings: inherit;
              font-size: 2.2rem;
              vertical-align: top;
              overflow: hidden;
              word-break: normal;
              text-align: left;
              background-image: linear-gradient(
                to left,
                rgb(255, 255, 255) 50%,
                rgba(255, 255, 255, 0) 100%
              );
              background-position: 100% 0px;
              background-size: 20px 100%;
              background-repeat: no-repeat;
            ">
            Mês com 1 algarismo
          </td>
        </tr>
        <tr style="
            box-sizing: inherit;
            margin: 0px;
            padding: 0px;
            border: 0px;
            font-style: inherit;
            font-variant: inherit;
            font-weight: inherit;
            font-stretch: inherit;
            line-height: inherit;
            font-family: inherit;
            font-optical-sizing: inherit;
            font-kerning: inherit;
            font-feature-settings: inherit;
            font-variation-settings: inherit;
            font-size: 16px;
            vertical-align: baseline;
          ">
          <td class="tg-v1p6" style="
              box-sizing: inherit;
              margin: 0px;
              padding: 6px 12px;
              border: var(--gray10) 1px solid;
              font-style: inherit;
              font-variant: inherit;
              font-weight: inherit;
              font-stretch: inherit;
              line-height: inherit;
              font-family: Lato !important;
              font-optical-sizing: inherit;
              font-kerning: inherit;
              font-feature-settings: inherit;
              font-variation-settings: inherit;
              font-size: 2.2rem;
              vertical-align: top;
              overflow: hidden;
              word-break: normal;
              text-align: right;
              background-image: linear-gradient(
                to right,
                rgb(255, 255, 255) 50%,
                rgba(255, 255, 255, 0) 100%
              );
              background-size: 20px 100%;
              background-repeat: no-repeat;
            ">
            DDD
          </td>
          <td class="tg-nh17" style="
              box-sizing: inherit;
              margin: 0px;
              padding: 6px 12px;
              border: var(--gray10) 1px solid;
              font-style: inherit;
              font-variant: inherit;
              font-weight: inherit;
              font-stretch: inherit;
              line-height: inherit;
              font-family: Lato !important;
              font-optical-sizing: inherit;
              font-kerning: inherit;
              font-feature-settings: inherit;
              font-variation-settings: inherit;
              font-size: 2.2rem;
              vertical-align: top;
              overflow: hidden;
              word-break: normal;
              text-align: left;
            ">
            225
          </td>
          <td class="tg-nh17" style="
              box-sizing: inherit;
              margin: 0px;
              padding: 6px 12px;
              border: var(--gray10) 1px solid;
              font-style: inherit;
              font-variant: inherit;
              font-weight: inherit;
              font-stretch: inherit;
              line-height: inherit;
              font-family: Lato !important;
              font-optical-sizing: inherit;
              font-kerning: inherit;
              font-feature-settings: inherit;
              font-variation-settings: inherit;
              font-size: 2.2rem;
              vertical-align: top;
              overflow: hidden;
              word-break: normal;
              text-align: left;
              background-image: linear-gradient(
                to left,
                rgb(255, 255, 255) 50%,
                rgba(255, 255, 255, 0) 100%
              );
              background-position: 100% 0px;
              background-size: 20px 100%;
              background-repeat: no-repeat;
            ">
            Dia do ano
          </td>
        </tr>
        <tr style="
            box-sizing: inherit;
            margin: 0px;
            padding: 0px;
            border: 0px;
            font-style: inherit;
            font-variant: inherit;
            font-weight: inherit;
            font-stretch: inherit;
            line-height: inherit;
            font-family: inherit;
            font-optical-sizing: inherit;
            font-kerning: inherit;
            font-feature-settings: inherit;
            font-variation-settings: inherit;
            font-size: 16px;
            vertical-align: baseline;
          ">
          <td class="tg-v1p6" style="
              box-sizing: inherit;
              margin: 0px;
              padding: 6px 12px;
              border: var(--gray10) 1px solid;
              font-style: inherit;
              font-variant: inherit;
              font-weight: inherit;
              font-stretch: inherit;
              line-height: inherit;
              font-family: Lato !important;
              font-optical-sizing: inherit;
              font-kerning: inherit;
              font-feature-settings: inherit;
              font-variation-settings: inherit;
              font-size: 2.2rem;
              vertical-align: top;
              overflow: hidden;
              word-break: normal;
              text-align: right;
              background-image: linear-gradient(
                to right,
                rgb(255, 255, 255) 50%,
                rgba(255, 255, 255, 0) 100%
              );
              background-size: 20px 100%;
              background-repeat: no-repeat;
            ">
            DD
          </td>
          <td class="tg-nh17" style="
              box-sizing: inherit;
              margin: 0px;
              padding: 6px 12px;
              border: var(--gray10) 1px solid;
              font-style: inherit;
              font-variant: inherit;
              font-weight: inherit;
              font-stretch: inherit;
              line-height: inherit;
              font-family: Lato !important;
              font-optical-sizing: inherit;
              font-kerning: inherit;
              font-feature-settings: inherit;
              font-variation-settings: inherit;
              font-size: 2.2rem;
              vertical-align: top;
              overflow: hidden;
              word-break: normal;
              text-align: left;
            ">
            13
          </td>
          <td class="tg-nh17" style="
              box-sizing: inherit;
              margin: 0px;
              padding: 6px 12px;
              border: var(--gray10) 1px solid;
              font-style: inherit;
              font-variant: inherit;
              font-weight: inherit;
              font-stretch: inherit;
              line-height: inherit;
              font-family: Lato !important;
              font-optical-sizing: inherit;
              font-kerning: inherit;
              font-feature-settings: inherit;
              font-variation-settings: inherit;
              font-size: 2.2rem;
              vertical-align: top;
              overflow: hidden;
              word-break: normal;
              text-align: left;
              background-image: linear-gradient(
                to left,
                rgb(255, 255, 255) 50%,
                rgba(255, 255, 255, 0) 100%
              );
              background-position: 100% 0px;
              background-size: 20px 100%;
              background-repeat: no-repeat;
            ">
            Dia do mês
          </td>
        </tr>
        <tr style="
            box-sizing: inherit;
            margin: 0px;
            padding: 0px;
            border: 0px;
            font-style: inherit;
            font-variant: inherit;
            font-weight: inherit;
            font-stretch: inherit;
            line-height: inherit;
            font-family: inherit;
            font-optical-sizing: inherit;
            font-kerning: inherit;
            font-feature-settings: inherit;
            font-variation-settings: inherit;
            font-size: 16px;
            vertical-align: baseline;
          ">
          <td class="tg-v1p6" style="
              box-sizing: inherit;
              margin: 0px;
              padding: 6px 12px;
              border: var(--gray10) 1px solid;
              font-style: inherit;
              font-variant: inherit;
              font-weight: inherit;
              font-stretch: inherit;
              line-height: inherit;
              font-family: Lato !important;
              font-optical-sizing: inherit;
              font-kerning: inherit;
              font-feature-settings: inherit;
              font-variation-settings: inherit;
              font-size: 2.2rem;
              vertical-align: top;
              overflow: hidden;
              word-break: normal;
              text-align: right;
              background-image: linear-gradient(
                to right,
                rgb(255, 255, 255) 50%,
                rgba(255, 255, 255, 0) 100%
              );
              background-size: 20px 100%;
              background-repeat: no-repeat;
            ">
            Do
          </td>
          <td class="tg-nh17" style="
              box-sizing: inherit;
              margin: 0px;
              padding: 6px 12px;
              border: var(--gray10) 1px solid;
              font-style: inherit;
              font-variant: inherit;
              font-weight: inherit;
              font-stretch: inherit;
              line-height: inherit;
              font-family: Lato !important;
              font-optical-sizing: inherit;
              font-kerning: inherit;
              font-feature-settings: inherit;
              font-variation-settings: inherit;
              font-size: 2.2rem;
              vertical-align: top;
              overflow: hidden;
              word-break: normal;
              text-align: left;
            ">
            13th
          </td>
          <td class="tg-nh17" style="
              box-sizing: inherit;
              margin: 0px;
              padding: 6px 12px;
              border: var(--gray10) 1px solid;
              font-style: inherit;
              font-variant: inherit;
              font-weight: inherit;
              font-stretch: inherit;
              line-height: inherit;
              font-family: Lato !important;
              font-optical-sizing: inherit;
              font-kerning: inherit;
              font-feature-settings: inherit;
              font-variation-settings: inherit;
              font-size: 2.2rem;
              vertical-align: top;
              overflow: hidden;
              word-break: normal;
              text-align: left;
              background-image: linear-gradient(
                to left,
                rgb(255, 255, 255) 50%,
                rgba(255, 255, 255, 0) 100%
              );
              background-position: 100% 0px;
              background-size: 20px 100%;
              background-repeat: no-repeat;
            ">
            Dia do mês com ordinal
          </td>
        </tr>
        <tr style="
            box-sizing: inherit;
            margin: 0px;
            padding: 0px;
            border: 0px;
            font-style: inherit;
            font-variant: inherit;
            font-weight: inherit;
            font-stretch: inherit;
            line-height: inherit;
            font-family: inherit;
            font-optical-sizing: inherit;
            font-kerning: inherit;
            font-feature-settings: inherit;
            font-variation-settings: inherit;
            font-size: 16px;
            vertical-align: baseline;
          ">
          <td class="tg-v1p6" style="
              box-sizing: inherit;
              margin: 0px;
              padding: 6px 12px;
              border: var(--gray10) 1px solid;
              font-style: inherit;
              font-variant: inherit;
              font-weight: inherit;
              font-stretch: inherit;
              line-height: inherit;
              font-family: Lato !important;
              font-optical-sizing: inherit;
              font-kerning: inherit;
              font-feature-settings: inherit;
              font-variation-settings: inherit;
              font-size: 2.2rem;
              vertical-align: top;
              overflow: hidden;
              word-break: normal;
              text-align: right;
              background-image: linear-gradient(
                to right,
                rgb(255, 255, 255) 50%,
                rgba(255, 255, 255, 0) 100%
              );
              background-size: 20px 100%;
              background-repeat: no-repeat;
            ">
            dddd
          </td>
          <td class="tg-nh17" style="
              box-sizing: inherit;
              margin: 0px;
              padding: 6px 12px;
              border: var(--gray10) 1px solid;
              font-style: inherit;
              font-variant: inherit;
              font-weight: inherit;
              font-stretch: inherit;
              line-height: inherit;
              font-family: Lato !important;
              font-optical-sizing: inherit;
              font-kerning: inherit;
              font-feature-settings: inherit;
              font-variation-settings: inherit;
              font-size: 2.2rem;
              vertical-align: top;
              overflow: hidden;
              word-break: normal;
              text-align: left;
            ">
            Wednesday
          </td>
          <td class="tg-nh17" style="
              box-sizing: inherit;
              margin: 0px;
              padding: 6px 12px;
              border: var(--gray10) 1px solid;
              font-style: inherit;
              font-variant: inherit;
              font-weight: inherit;
              font-stretch: inherit;
              line-height: inherit;
              font-family: Lato !important;
              font-optical-sizing: inherit;
              font-kerning: inherit;
              font-feature-settings: inherit;
              font-variation-settings: inherit;
              font-size: 2.2rem;
              vertical-align: top;
              overflow: hidden;
              word-break: normal;
              text-align: left;
              background-image: linear-gradient(
                to left,
                rgb(255, 255, 255) 50%,
                rgba(255, 255, 255, 0) 100%
              );
              background-position: 100% 0px;
              background-size: 20px 100%;
              background-repeat: no-repeat;
            ">
            Nome completo do dia
          </td>
        </tr>
        <tr style="
            box-sizing: inherit;
            margin: 0px;
            padding: 0px;
            border: 0px;
            font-style: inherit;
            font-variant: inherit;
            font-weight: inherit;
            font-stretch: inherit;
            line-height: inherit;
            font-family: inherit;
            font-optical-sizing: inherit;
            font-kerning: inherit;
            font-feature-settings: inherit;
            font-variation-settings: inherit;
            font-size: 16px;
            vertical-align: baseline;
          ">
          <td class="tg-v1p6" style="
              box-sizing: inherit;
              margin: 0px;
              padding: 6px 12px;
              border: var(--gray10) 1px solid;
              font-style: inherit;
              font-variant: inherit;
              font-weight: inherit;
              font-stretch: inherit;
              line-height: inherit;
              font-family: Lato !important;
              font-optical-sizing: inherit;
              font-kerning: inherit;
              font-feature-settings: inherit;
              font-variation-settings: inherit;
              font-size: 2.2rem;
              vertical-align: top;
              overflow: hidden;
              word-break: normal;
              text-align: right;
              background-image: linear-gradient(
                to right,
                rgb(255, 255, 255) 50%,
                rgba(255, 255, 255, 0) 100%
              );
              background-size: 20px 100%;
              background-repeat: no-repeat;
            ">
            ddd
          </td>
          <td class="tg-nh17" style="
              box-sizing: inherit;
              margin: 0px;
              padding: 6px 12px;
              border: var(--gray10) 1px solid;
              font-style: inherit;
              font-variant: inherit;
              font-weight: inherit;
              font-stretch: inherit;
              line-height: inherit;
              font-family: Lato !important;
              font-optical-sizing: inherit;
              font-kerning: inherit;
              font-feature-settings: inherit;
              font-variation-settings: inherit;
              font-size: 2.2rem;
              vertical-align: top;
              overflow: hidden;
              word-break: normal;
              text-align: left;
            ">
            Wed
          </td>
          <td class="tg-nh17" style="
              box-sizing: inherit;
              margin: 0px;
              padding: 6px 12px;
              border: var(--gray10) 1px solid;
              font-style: inherit;
              font-variant: inherit;
              font-weight: inherit;
              font-stretch: inherit;
              line-height: inherit;
              font-family: Lato !important;
              font-optical-sizing: inherit;
              font-kerning: inherit;
              font-feature-settings: inherit;
              font-variation-settings: inherit;
              font-size: 2.2rem;
              vertical-align: top;
              overflow: hidden;
              word-break: normal;
              text-align: left;
              background-image: linear-gradient(
                to left,
                rgb(255, 255, 255) 50%,
                rgba(255, 255, 255, 0) 100%
              );
              background-position: 100% 0px;
              background-size: 20px 100%;
              background-repeat: no-repeat;
            ">
            Nome do dia abreviado
          </td>
        </tr>
        <tr style="
            box-sizing: inherit;
            margin: 0px;
            padding: 0px;
            border: 0px;
            font-style: inherit;
            font-variant: inherit;
            font-weight: inherit;
            font-stretch: inherit;
            line-height: inherit;
            font-family: inherit;
            font-optical-sizing: inherit;
            font-kerning: inherit;
            font-feature-settings: inherit;
            font-variation-settings: inherit;
            font-size: 16px;
            vertical-align: baseline;
          ">
          <td class="tg-v1p6" style="
              box-sizing: inherit;
              margin: 0px;
              padding: 6px 12px;
              border: var(--gray10) 1px solid;
              font-style: inherit;
              font-variant: inherit;
              font-weight: inherit;
              font-stretch: inherit;
              line-height: inherit;
              font-family: Lato !important;
              font-optical-sizing: inherit;
              font-kerning: inherit;
              font-feature-settings: inherit;
              font-variation-settings: inherit;
              font-size: 2.2rem;
              vertical-align: top;
              overflow: hidden;
              word-break: normal;
              text-align: right;
              background-image: linear-gradient(
                to right,
                rgb(255, 255, 255) 50%,
                rgba(255, 255, 255, 0) 100%
              );
              background-size: 20px 100%;
              background-repeat: no-repeat;
            ">
            HH
          </td>
          <td class="tg-nh17" style="
              box-sizing: inherit;
              margin: 0px;
              padding: 6px 12px;
              border: var(--gray10) 1px solid;
              font-style: inherit;
              font-variant: inherit;
              font-weight: inherit;
              font-stretch: inherit;
              line-height: inherit;
              font-family: Lato !important;
              font-optical-sizing: inherit;
              font-kerning: inherit;
              font-feature-settings: inherit;
              font-variation-settings: inherit;
              font-size: 2.2rem;
              vertical-align: top;
              overflow: hidden;
              word-break: normal;
              text-align: left;
            ">
            17
          </td>
          <td class="tg-nh17" style="
              box-sizing: inherit;
              margin: 0px;
              padding: 6px 12px;
              border: var(--gray10) 1px solid;
              font-style: inherit;
              font-variant: inherit;
              font-weight: inherit;
              font-stretch: inherit;
              line-height: inherit;
              font-family: Lato !important;
              font-optical-sizing: inherit;
              font-kerning: inherit;
              font-feature-settings: inherit;
              font-variation-settings: inherit;
              font-size: 2.2rem;
              vertical-align: top;
              overflow: hidden;
              word-break: normal;
              text-align: left;
              background-image: linear-gradient(
                to left,
                rgb(255, 255, 255) 50%,
                rgba(255, 255, 255, 0) 100%
              );
              background-position: 100% 0px;
              background-size: 20px 100%;
              background-repeat: no-repeat;
            ">
            Hora no formato de 24 horas
          </td>
        </tr>
        <tr style="
            box-sizing: inherit;
            margin: 0px;
            padding: 0px;
            border: 0px;
            font-style: inherit;
            font-variant: inherit;
            font-weight: inherit;
            font-stretch: inherit;
            line-height: inherit;
            font-family: inherit;
            font-optical-sizing: inherit;
            font-kerning: inherit;
            font-feature-settings: inherit;
            font-variation-settings: inherit;
            font-size: 16px;
            vertical-align: baseline;
          ">
          <td class="tg-v1p6" style="
              box-sizing: inherit;
              margin: 0px;
              padding: 6px 12px;
              border: var(--gray10) 1px solid;
              font-style: inherit;
              font-variant: inherit;
              font-weight: inherit;
              font-stretch: inherit;
              line-height: inherit;
              font-family: Lato !important;
              font-optical-sizing: inherit;
              font-kerning: inherit;
              font-feature-settings: inherit;
              font-variation-settings: inherit;
              font-size: 2.2rem;
              vertical-align: top;
              overflow: hidden;
              word-break: normal;
              text-align: right;
              background-image: linear-gradient(
                to right,
                rgb(255, 255, 255) 50%,
                rgba(255, 255, 255, 0) 100%
              );
              background-size: 20px 100%;
              background-repeat: no-repeat;
            ">
            hh
          </td>
          <td class="tg-nh17" style="
              box-sizing: inherit;
              margin: 0px;
              padding: 6px 12px;
              border: var(--gray10) 1px solid;
              font-style: inherit;
              font-variant: inherit;
              font-weight: inherit;
              font-stretch: inherit;
              line-height: inherit;
              font-family: Lato !important;
              font-optical-sizing: inherit;
              font-kerning: inherit;
              font-feature-settings: inherit;
              font-variation-settings: inherit;
              font-size: 2.2rem;
              vertical-align: top;
              overflow: hidden;
              word-break: normal;
              text-align: left;
            ">
            05
          </td>
          <td class="tg-nh17" style="
              box-sizing: inherit;
              margin: 0px;
              padding: 6px 12px;
              border: var(--gray10) 1px solid;
              font-style: inherit;
              font-variant: inherit;
              font-weight: inherit;
              font-stretch: inherit;
              line-height: inherit;
              font-family: Lato !important;
              font-optical-sizing: inherit;
              font-kerning: inherit;
              font-feature-settings: inherit;
              font-variation-settings: inherit;
              font-size: 2.2rem;
              vertical-align: top;
              overflow: hidden;
              word-break: normal;
              text-align: left;
              background-image: linear-gradient(
                to left,
                rgb(255, 255, 255) 50%,
                rgba(255, 255, 255, 0) 100%
              );
              background-position: 100% 0px;
              background-size: 20px 100%;
              background-repeat: no-repeat;
            ">
            Hora no formato de 12 horas
          </td>
        </tr>
        <tr style="
            box-sizing: inherit;
            margin: 0px;
            padding: 0px;
            border: 0px;
            font-style: inherit;
            font-variant: inherit;
            font-weight: inherit;
            font-stretch: inherit;
            line-height: inherit;
            font-family: inherit;
            font-optical-sizing: inherit;
            font-kerning: inherit;
            font-feature-settings: inherit;
            font-variation-settings: inherit;
            font-size: 16px;
            vertical-align: baseline;
          ">
          <td class="tg-v1p6" style="
              box-sizing: inherit;
              margin: 0px;
              padding: 6px 12px;
              border: var(--gray10) 1px solid;
              font-style: inherit;
              font-variant: inherit;
              font-weight: inherit;
              font-stretch: inherit;
              line-height: inherit;
              font-family: Lato !important;
              font-optical-sizing: inherit;
              font-kerning: inherit;
              font-feature-settings: inherit;
              font-variation-settings: inherit;
              font-size: 2.2rem;
              vertical-align: top;
              overflow: hidden;
              word-break: normal;
              text-align: right;
              background-image: linear-gradient(
                to right,
                rgb(255, 255, 255) 50%,
                rgba(255, 255, 255, 0) 100%
              );
              background-size: 20px 100%;
              background-repeat: no-repeat;
            ">
            mm
          </td>
          <td class="tg-nh17" style="
              box-sizing: inherit;
              margin: 0px;
              padding: 6px 12px;
              border: var(--gray10) 1px solid;
              font-style: inherit;
              font-variant: inherit;
              font-weight: inherit;
              font-stretch: inherit;
              line-height: inherit;
              font-family: Lato !important;
              font-optical-sizing: inherit;
              font-kerning: inherit;
              font-feature-settings: inherit;
              font-variation-settings: inherit;
              font-size: 2.2rem;
              vertical-align: top;
              overflow: hidden;
              word-break: normal;
              text-align: left;
            ">
            32
          </td>
          <td class="tg-nh17" style="
              box-sizing: inherit;
              margin: 0px;
              padding: 6px 12px;
              border: var(--gray10) 1px solid;
              font-style: inherit;
              font-variant: inherit;
              font-weight: inherit;
              font-stretch: inherit;
              line-height: inherit;
              font-family: Lato !important;
              font-optical-sizing: inherit;
              font-kerning: inherit;
              font-feature-settings: inherit;
              font-variation-settings: inherit;
              font-size: 2.2rem;
              vertical-align: top;
              overflow: hidden;
              word-break: normal;
              text-align: left;
              background-image: linear-gradient(
                to left,
                rgb(255, 255, 255) 50%,
                rgba(255, 255, 255, 0) 100%
              );
              background-position: 100% 0px;
              background-size: 20px 100%;
              background-repeat: no-repeat;
            ">
            Minutos
          </td>
        </tr>
        <tr style="
            box-sizing: inherit;
            margin: 0px;
            padding: 0px;
            border: 0px;
            font-style: inherit;
            font-variant: inherit;
            font-weight: inherit;
            font-stretch: inherit;
            line-height: inherit;
            font-family: inherit;
            font-optical-sizing: inherit;
            font-kerning: inherit;
            font-feature-settings: inherit;
            font-variation-settings: inherit;
            font-size: 16px;
            vertical-align: baseline;
          ">
          <td class="tg-v1p6" style="
              box-sizing: inherit;
              margin: 0px;
              padding: 6px 12px;
              border: var(--gray10) 1px solid;
              font-style: inherit;
              font-variant: inherit;
              font-weight: inherit;
              font-stretch: inherit;
              line-height: inherit;
              font-family: Lato !important;
              font-optical-sizing: inherit;
              font-kerning: inherit;
              font-feature-settings: inherit;
              font-variation-settings: inherit;
              font-size: 2.2rem;
              vertical-align: top;
              overflow: hidden;
              word-break: normal;
              text-align: right;
              background-image: linear-gradient(
                to right,
                rgb(255, 255, 255) 50%,
                rgba(255, 255, 255, 0) 100%
              );
              background-size: 20px 100%;
              background-repeat: no-repeat;
            ">
            ss
          </td>
          <td class="tg-nh17" style="
              box-sizing: inherit;
              margin: 0px;
              padding: 6px 12px;
              border: var(--gray10) 1px solid;
              font-style: inherit;
              font-variant: inherit;
              font-weight: inherit;
              font-stretch: inherit;
              line-height: inherit;
              font-family: Lato !important;
              font-optical-sizing: inherit;
              font-kerning: inherit;
              font-feature-settings: inherit;
              font-variation-settings: inherit;
              font-size: 2.2rem;
              vertical-align: top;
              overflow: hidden;
              word-break: normal;
              text-align: left;
            ">
            19
          </td>
          <td class="tg-nh17" style="
              box-sizing: inherit;
              margin: 0px;
              padding: 6px 12px;
              border: var(--gray10) 1px solid;
              font-style: inherit;
              font-variant: inherit;
              font-weight: inherit;
              font-stretch: inherit;
              line-height: inherit;
              font-family: Lato !important;
              font-optical-sizing: inherit;
              font-kerning: inherit;
              font-feature-settings: inherit;
              font-variation-settings: inherit;
              font-size: 2.2rem;
              vertical-align: top;
              overflow: hidden;
              word-break: normal;
              text-align: left;
              background-image: linear-gradient(
                to left,
                rgb(255, 255, 255) 50%,
                rgba(255, 255, 255, 0) 100%
              );
              background-position: 100% 0px;
              background-size: 20px 100%;
              background-repeat: no-repeat;
            ">
            Segundos
          </td>
        </tr>
        <tr style="
            box-sizing: inherit;
            margin: 0px;
            padding: 0px;
            border: 0px;
            font-style: inherit;
            font-variant: inherit;
            font-weight: inherit;
            font-stretch: inherit;
            line-height: inherit;
            font-family: inherit;
            font-optical-sizing: inherit;
            font-kerning: inherit;
            font-feature-settings: inherit;
            font-variation-settings: inherit;
            font-size: 16px;
            vertical-align: baseline;
          ">
          <td class="tg-v1p6" style="
              box-sizing: inherit;
              margin: 0px;
              padding: 6px 12px;
              border: var(--gray10) 1px solid;
              font-style: inherit;
              font-variant: inherit;
              font-weight: inherit;
              font-stretch: inherit;
              line-height: inherit;
              font-family: Lato !important;
              font-optical-sizing: inherit;
              font-kerning: inherit;
              font-feature-settings: inherit;
              font-variation-settings: inherit;
              font-size: 2.2rem;
              vertical-align: top;
              overflow: hidden;
              word-break: normal;
              text-align: right;
              background-image: linear-gradient(
                to right,
                rgb(255, 255, 255) 50%,
                rgba(255, 255, 255, 0) 100%
              );
              background-size: 20px 100%;
              background-repeat: no-repeat;
            ">
            a
          </td>
          <td class="tg-nh17" style="
              box-sizing: inherit;
              margin: 0px;
              padding: 6px 12px;
              border: var(--gray10) 1px solid;
              font-style: inherit;
              font-variant: inherit;
              font-weight: inherit;
              font-stretch: inherit;
              line-height: inherit;
              font-family: Lato !important;
              font-optical-sizing: inherit;
              font-kerning: inherit;
              font-feature-settings: inherit;
              font-variation-settings: inherit;
              font-size: 2.2rem;
              vertical-align: top;
              overflow: hidden;
              word-break: normal;
              text-align: left;
            ">
            am / pm
          </td>
          <td class="tg-nh17" style="
              box-sizing: inherit;
              margin: 0px;
              padding: 6px 12px;
              border: var(--gray10) 1px solid;
              font-style: inherit;
              font-variant: inherit;
              font-weight: inherit;
              font-stretch: inherit;
              line-height: inherit;
              font-family: Lato !important;
              font-optical-sizing: inherit;
              font-kerning: inherit;
              font-feature-settings: inherit;
              font-variation-settings: inherit;
              font-size: 2.2rem;
              vertical-align: top;
              overflow: hidden;
              word-break: normal;
              text-align: left;
              background-image: linear-gradient(
                to left,
                rgb(255, 255, 255) 50%,
                rgba(255, 255, 255, 0) 100%
              );
              background-position: 100% 0px;
              background-size: 20px 100%;
              background-repeat: no-repeat;
            ">
            Antes e depois do meio-dia
          </td>
        </tr>
        <tr style="
            box-sizing: inherit;
            margin: 0px;
            padding: 0px;
            border: 0px;
            font-style: inherit;
            font-variant: inherit;
            font-weight: inherit;
            font-stretch: inherit;
            line-height: inherit;
            font-family: inherit;
            font-optical-sizing: inherit;
            font-kerning: inherit;
            font-feature-settings: inherit;
            font-variation-settings: inherit;
            font-size: 16px;
            vertical-align: baseline;
          ">
          <td class="tg-v1p6" style="
              box-sizing: inherit;
              margin: 0px;
              padding: 6px 12px;
              border: var(--gray10) 1px solid;
              font-style: inherit;
              font-variant: inherit;
              font-weight: inherit;
              font-stretch: inherit;
              line-height: inherit;
              font-family: Lato !important;
              font-optical-sizing: inherit;
              font-kerning: inherit;
              font-feature-settings: inherit;
              font-variation-settings: inherit;
              font-size: 2.2rem;
              vertical-align: top;
              overflow: hidden;
              word-break: normal;
              text-align: right;
              background-image: linear-gradient(
                to right,
                rgb(255, 255, 255) 50%,
                rgba(255, 255, 255, 0) 100%
              );
              background-size: 20px 100%;
              background-repeat: no-repeat;
            ">
            A
          </td>
          <td class="tg-nh17" style="
              box-sizing: inherit;
              margin: 0px;
              padding: 6px 12px;
              border: var(--gray10) 1px solid;
              font-style: inherit;
              font-variant: inherit;
              font-weight: inherit;
              font-stretch: inherit;
              line-height: inherit;
              font-family: Lato !important;
              font-optical-sizing: inherit;
              font-kerning: inherit;
              font-feature-settings: inherit;
              font-variation-settings: inherit;
              font-size: 2.2rem;
              vertical-align: top;
              overflow: hidden;
              word-break: normal;
              text-align: left;
            ">
            AM / PM
          </td>
          <td class="tg-nh17" style="
              box-sizing: inherit;
              margin: 0px;
              padding: 6px 12px;
              border: var(--gray10) 1px solid;
              font-style: inherit;
              font-variant: inherit;
              font-weight: inherit;
              font-stretch: inherit;
              line-height: inherit;
              font-family: Lato !important;
              font-optical-sizing: inherit;
              font-kerning: inherit;
              font-feature-settings: inherit;
              font-variation-settings: inherit;
              font-size: 2.2rem;
              vertical-align: top;
              overflow: hidden;
              word-break: normal;
              text-align: left;
              background-image: linear-gradient(
                to left,
                rgb(255, 255, 255) 50%,
                rgba(255, 255, 255, 0) 100%
              );
              background-position: 100% 0px;
              background-size: 20px 100%;
              background-repeat: no-repeat;
            ">
            Antes e depois do meio-dia capitalizados
          </td>
        </tr>
        <tr style="
            box-sizing: inherit;
            margin: 0px;
            padding: 0px;
            border: 0px;
            font-style: inherit;
            font-variant: inherit;
            font-weight: inherit;
            font-stretch: inherit;
            line-height: inherit;
            font-family: inherit;
            font-optical-sizing: inherit;
            font-kerning: inherit;
            font-feature-settings: inherit;
            font-variation-settings: inherit;
            font-size: 16px;
            vertical-align: baseline;
          ">
          <td class="tg-v1p6" style="
              box-sizing: inherit;
              margin: 0px;
              padding: 6px 12px;
              border: var(--gray10) 1px solid;
              font-style: inherit;
              font-variant: inherit;
              font-weight: inherit;
              font-stretch: inherit;
              line-height: inherit;
              font-family: Lato !important;
              font-optical-sizing: inherit;
              font-kerning: inherit;
              font-feature-settings: inherit;
              font-variation-settings: inherit;
              font-size: 2.2rem;
              vertical-align: top;
              overflow: hidden;
              word-break: normal;
              text-align: right;
              background-image: linear-gradient(
                to right,
                rgb(255, 255, 255) 50%,
                rgba(255, 255, 255, 0) 100%
              );
              background-size: 20px 100%;
              background-repeat: no-repeat;
            ">
            ZZ
          </td>
          <td class="tg-nh17" style="
              box-sizing: inherit;
              margin: 0px;
              padding: 6px 12px;
              border: var(--gray10) 1px solid;
              font-style: inherit;
              font-variant: inherit;
              font-weight: inherit;
              font-stretch: inherit;
              line-height: inherit;
              font-family: Lato !important;
              font-optical-sizing: inherit;
              font-kerning: inherit;
              font-feature-settings: inherit;
              font-variation-settings: inherit;
              font-size: 2.2rem;
              vertical-align: top;
              overflow: hidden;
              word-break: normal;
              text-align: left;
            ">
            +0900
          </td>
          <td class="tg-nh17" style="
              box-sizing: inherit;
              margin: 0px;
              padding: 6px 12px;
              border: var(--gray10) 1px solid;
              font-style: inherit;
              font-variant: inherit;
              font-weight: inherit;
              font-stretch: inherit;
              line-height: inherit;
              font-family: Lato !important;
              font-optical-sizing: inherit;
              font-kerning: inherit;
              font-feature-settings: inherit;
              font-variation-settings: inherit;
              font-size: 2.2rem;
              vertical-align: top;
              overflow: hidden;
              word-break: normal;
              text-align: left;
              background-image: linear-gradient(
                to left,
                rgb(255, 255, 255) 50%,
                rgba(255, 255, 255, 0) 100%
              );
              background-position: 100% 0px;
              background-size: 20px 100%;
              background-repeat: no-repeat;
            ">
            Deslocamento do fuso horário a partir do UTC
          </td>
        </tr>
        <tr style="
            box-sizing: inherit;
            margin: 0px;
            padding: 0px;
            border: 0px;
            font-style: inherit;
            font-variant: inherit;
            font-weight: inherit;
            font-stretch: inherit;
            line-height: inherit;
            font-family: inherit;
            font-optical-sizing: inherit;
            font-kerning: inherit;
            font-feature-settings: inherit;
            font-variation-settings: inherit;
            font-size: 16px;
            vertical-align: baseline;
          ">
          <td class="tg-v1p6" style="
              box-sizing: inherit;
              margin: 0px;
              padding: 6px 12px;
              border: var(--gray10) 1px solid;
              font-style: inherit;
              font-variant: inherit;
              font-weight: inherit;
              font-stretch: inherit;
              line-height: inherit;
              font-family: Lato !important;
              font-optical-sizing: inherit;
              font-kerning: inherit;
              font-feature-settings: inherit;
              font-variation-settings: inherit;
              font-size: 2.2rem;
              vertical-align: top;
              overflow: hidden;
              word-break: normal;
              text-align: right;
              background-image: linear-gradient(
                to right,
                rgb(255, 255, 255) 50%,
                rgba(255, 255, 255, 0) 100%
              );
              background-size: 20px 100%;
              background-repeat: no-repeat;
            ">
            X
          </td>
          <td class="tg-nh17" style="
              box-sizing: inherit;
              margin: 0px;
              padding: 6px 12px;
              border: var(--gray10) 1px solid;
              font-style: inherit;
              font-variant: inherit;
              font-weight: inherit;
              font-stretch: inherit;
              line-height: inherit;
              font-family: Lato !important;
              font-optical-sizing: inherit;
              font-kerning: inherit;
              font-feature-settings: inherit;
              font-variation-settings: inherit;
              font-size: 2.2rem;
              vertical-align: top;
              overflow: hidden;
              word-break: normal;
              text-align: left;
            ">
            1410715640.579
          </td>
          <td class="tg-nh17" style="
              box-sizing: inherit;
              margin: 0px;
              padding: 6px 12px;
              border: var(--gray10) 1px solid;
              font-style: inherit;
              font-variant: inherit;
              font-weight: inherit;
              font-stretch: inherit;
              line-height: inherit;
              font-family: Lato !important;
              font-optical-sizing: inherit;
              font-kerning: inherit;
              font-feature-settings: inherit;
              font-variation-settings: inherit;
              font-size: 2.2rem;
              vertical-align: top;
              overflow: hidden;
              word-break: normal;
              text-align: left;
              background-image: linear-gradient(
                to left,
                rgb(255, 255, 255) 50%,
                rgba(255, 255, 255, 0) 100%
              );
              background-position: 100% 0px;
              background-size: 20px 100%;
              background-repeat: no-repeat;
            ">
            Unix timestamp em segundos
          </td>
        </tr>
        <tr style="
            box-sizing: inherit;
            margin: 0px;
            padding: 0px;
            border: 0px;
            font-style: inherit;
            font-variant: inherit;
            font-weight: inherit;
            font-stretch: inherit;
            line-height: inherit;
            font-family: inherit;
            font-optical-sizing: inherit;
            font-kerning: inherit;
            font-feature-settings: inherit;
            font-variation-settings: inherit;
            font-size: 16px;
            vertical-align: baseline;
          ">
          <td class="tg-v1p6" style="
              box-sizing: inherit;
              margin: 0px;
              padding: 6px 12px;
              border: var(--gray10) 1px solid;
              font-style: inherit;
              font-variant: inherit;
              font-weight: inherit;
              font-stretch: inherit;
              line-height: inherit;
              font-family: Lato !important;
              font-optical-sizing: inherit;
              font-kerning: inherit;
              font-feature-settings: inherit;
              font-variation-settings: inherit;
              font-size: 2.2rem;
              vertical-align: top;
              overflow: hidden;
              word-break: normal;
              text-align: right;
              background-image: linear-gradient(
                to right,
                rgb(255, 255, 255) 50%,
                rgba(255, 255, 255, 0) 100%
              );
              background-size: 20px 100%;
              background-repeat: no-repeat;
            ">
            XX
          </td>
          <td class="tg-nh17" style="
              box-sizing: inherit;
              margin: 0px;
              padding: 6px 12px;
              border: var(--gray10) 1px solid;
              font-style: inherit;
              font-variant: inherit;
              font-weight: inherit;
              font-stretch: inherit;
              line-height: inherit;
              font-family: Lato !important;
              font-optical-sizing: inherit;
              font-kerning: inherit;
              font-feature-settings: inherit;
              font-variation-settings: inherit;
              font-size: 2.2rem;
              vertical-align: top;
              overflow: hidden;
              word-break: normal;
              text-align: left;
            ">
            1410715640579
          </td>
          <td class="tg-nh17" style="
              box-sizing: inherit;
              margin: 0px;
              padding: 6px 12px;
              border: var(--gray10) 1px solid;
              font-style: inherit;
              font-variant: inherit;
              font-weight: inherit;
              font-stretch: inherit;
              line-height: inherit;
              font-family: Lato !important;
              font-optical-sizing: inherit;
              font-kerning: inherit;
              font-feature-settings: inherit;
              font-variation-settings: inherit;
              font-size: 2.2rem;
              vertical-align: top;
              overflow: hidden;
              word-break: normal;
              text-align: left;
              background-image: linear-gradient(
                to left,
                rgb(255, 255, 255) 50%,
                rgba(255, 255, 255, 0) 100%
              );
              background-position: 100% 0px;
              background-size: 20px 100%;
              background-repeat: no-repeat;
            ">
            Unix timestamp em milissegundos
          </td>
        </tr>
      </tbody>
    </table><!--kg-card-end: html--><p>Acesse a documentação do <a href="https://momentjs.com/docs/">Moment.js</a> para saber mais sobre os tokens de formatação.</p><p>Trabalhar com objetos <code>Date</code> do JavaScript e com o Moment.js não precisa consumir todo o seu tempo. Agora, você deve saber mais do que o suficiente para começar com ambos.</p> ]]>
                </content:encoded>
            </item>
        
            <item>
                <title>
                    <![CDATA[ Como fazer deploy de uma aplicação do React com rotas no GitHub Pages ]]>
                </title>
                <description>
                    <![CDATA[ Quando criamos projetos, queremos que eles possam ser acessados através da Internet. Ao invés de comprar um domínio e gastar tempo para configurá-lo, é mais fácil hospedá-lo no GitHub Pages [https://pages.github.com/]. Um projeto que usa JavaScript, HTML e CSS é simples de ser hospedado no GitHub Pages. No entanto, projetos ]]>
                </description>
                <link>https://www.freecodecamp.org/portuguese/news/como-fazer-o-deploy-de-uma-aplicacao-do-react-com-rotas-no-github-pages/</link>
                <guid isPermaLink="false">633251ff5c046e06ec87b337</guid>
                
                    <category>
                        <![CDATA[ React ]]>
                    </category>
                
                <dc:creator>
                    <![CDATA[ Isabella Nunes ]]>
                </dc:creator>
                <pubDate>Wed, 16 Nov 2022 21:00:00 +0000</pubDate>
                <media:content url="https://www.freecodecamp.org/portuguese/news/content/images/2022/11/602aaa1e0a2838549dcc5c67.jpg" medium="image" />
                <content:encoded>
                    <![CDATA[ <p data-test-label="translation-intro">
        <strong>Artigo original:</strong> <a href="https://www.freecodecamp.org/news/deploy-a-react-app-to-github-pages/" target="_blank" rel="noopener noreferrer" data-test-label="original-article-link">How to Deploy a Routed React App to GitHub Pages</a>
      </p><p>Quando criamos projetos, queremos que eles possam ser acessados através da Internet. Ao invés de comprar um domínio e gastar tempo para configurá-lo, é mais fácil hospedá-lo no <a href="https://pages.github.com/">GitHub Pages</a>.</p><p>Um projeto que usa JavaScript, HTML e CSS é simples de ser hospedado no GitHub Pages. No entanto, projetos que são construídos usando React, Vue ou Angular, precisam de configurações adicionais. O ideal seria que qualquer pessoa, ao acessar sua aplicação, tivesse a mesma experiência se o projeto fosse executado localmente.</p><p>Neste artigo, mostrarei como criar uma simples aplicação com React, usando roteamento e aprenderemos a fazer o upload dela no GitHub Pages. Daremos uma atenção especial para a parte de roteamento, pois ela é importante de ser entendida e implementada.</p><blockquote>⚠️ Este artigo pressupõe que você tenha conhecimentos de React e Git.</blockquote><h3 id="pr-requisitos"><strong>Pré-requisitos</strong></h3><p>Você precisa do Node, do yarn e do npm instalados na sua máquina. Para verificar se estão instalados, abra um terminal e digite o seguinte:</p><pre><code class="language-bash">npm -v
yarn -v
node -v</code></pre><p>Se esses comandos retornaram o número de suas respectivas versões, você está pronto para continuar. Caso contrário, é necessário instalar os seguintes itens:</p><ul><li><a href="https://nodejs.org/en/download/">Node</a> (inclui o npm)</li><li><a href="https://classic.yarnpkg.com/en/docs/install/#windows-stable">Yarn</a></li></ul><p>Precisaremos também de um repositório no GitHub. Acesse sua conta e crie um repositório. Escolha o nome que você achar adequado para esse projeto. Porém, eu usarei o nome <strong><strong>starter-project</strong></strong><em><em><strong><strong> </strong></strong></em></em>até o fim deste artigo.</p><p>Para criar nosso projeto, usaremos o <strong><strong>create-react-app</strong></strong>, um pacote que facilita a criação de uma single-page application (aplicação de página única). Para criar um projeto, você precisa digitar o seguinte comando no terminal:</p><pre><code class="language-bash">npx create-react-app starter-project</code></pre><p>Assim que todas as operações finalizarem, você terá um boilerplate (modelo inicial) de um projeto do React para você seguir com o desenvolvimento. A fim de verificar se tudo está funcionando corretamente, acesse o repositório do projeto (no nosso exemplo, usamos <em>starter-project</em>) e execute o seguinte comando:</p><pre><code class="language-bash">yarn start</code></pre><p>Se tudo funcionar corretamente, você verá uma mensagem no terminal dizendo que a aplicação está rodando no seguinte endereço: <strong><strong>http://localhost:3000</strong></strong></p><p>Se acessarmos esse endereço no navegador, devemos ver o seguinte:</p><figure class="kg-card kg-image-card"><img src="https://www.freecodecamp.org/portuguese/news/content/images/2022/11/IB8uRE3cjN.gif" class="kg-image" alt="IB8uRE3cjN" width="863" height="726" loading="lazy"></figure><h2 id="como-fazer-o-deploy-do-projeto-no-github"><strong>Como fazer o deploy do projeto no <strong>GitHub</strong></strong></h2><p>Você deve ter notado que não criamos nenhum repositório no GitHub. Então, antes de seguirmos em frente, devemos fazer o upload do nosso projeto. Acesse a sua conta no GitHub e crie um repositório com o mesmo nome do projeto do React.</p><blockquote>☝️ Garanta que o seu repositório esteja marcado como público. Se ele estiver marcado como privado, você não poderá utilizar o GitHub Pages.</blockquote><p>Vamos adicionar um apontamento para nosso repositório remoto em nosso repositório local. Para fazer isso, digite o seguinte no terminal:</p><pre><code class="language-bash">git remote add &lt;nome-do-repositorio-remoto&gt; &lt;url-do-repositorio&gt;</code></pre><p>Então, no nosso caso, o comando será parecido com:</p><pre><code class="language-bash">git remote add origin https://github.com/TomerPacific/starter-project</code></pre><blockquote>É importante chamar o remote <strong><strong><em><em>origin</em></em></strong></strong><em>, pois</em> ele será necessário para fazer o nosso deploy.</blockquote><p>Depois de executar o comando acima, ainda não podemos subir o nosso código. Inicialmente, precisamos configurar uma branch e defini-la como origin.</p><pre><code class="language-bash"> git push --set-upstream origin master</code></pre><p>Agora, podemos fazer o upload do nosso projeto para o repositório.</p><p>Para que possamos fazer o upload da nossa aplicação, também, precisamos instalar o pacote <a href="https://www.npmjs.com/package/gh-pages">gh-pages</a>:</p><pre><code class="language-bash">yarn add gh-pages</code></pre><p>Esse pacote nos ajudará com o deploy do nosso código para a branch gh-pages, que será utilizada para hospedar a nossa aplicação no GitHub Pages.</p><p>Para que possamos usar o pacote gh-pages, precisamos adicionar duas chaves aos nossos scripts do arquivo package.json:</p><pre><code class="language-package">"scripts": {
    "start": "react-scripts start",
    "predeploy": "npm run build", &lt;----------- #1
    "deploy": "gh-pages -d build", &lt;---------- #2
    "build": "react-scripts build",
    "test": "react-scripts test",
    "eject": "react-scripts eject"
  },</code></pre><p>Em seguida, precisamos modificar o nosso arquivo package.json adicionando o campo <strong><strong>homepage</strong></strong>. Esse campo é utilizado pelo React para encontrar o URL principal do arquivo HTML. Nele, colocaremos o URL do nosso repositório no GitHub:</p><pre><code class="language-package">{
  "name": "starter-project",
  "homepage": "https://tomerpacific.github.io/starter-project/", &lt;----
  "version": "0.1.0",
  /....
}</code></pre><p>Para fazer o deploy da aplicação, digite o seguinte no terminal:</p><pre><code class="language-bash">npm run deploy</code></pre><p>A execução do comando acima realiza a <em>build</em> da aplicação e a envia para uma branch chamada gh-pages, que o GitHub usa para vincular nosso projeto ao GitHub Pages.</p><blockquote>🚧 Se você não nomeou sua branch como <strong><strong><em><em>origin</em></em></strong></strong>, você receberá um erro durante essa fase: <strong>Falha em acessar remote.origin.url (a tarefa deve ser executada em um repositório git com uma branch origin configurada ou deve ser configurada com a opção "repo")</strong>.</blockquote><p>Você saberá que o processo foi bem-sucedido se, no final dele, for exibida a palavra <strong><em>Published</em></strong> (em português, publicado). Agora podemos ir ao nosso repositório do GitHub, acessar as configurações e depois clicar na seção do GitHub Pages.</p><figure class="kg-card kg-image-card kg-width-wide"><img src="https://www.freecodecamp.org/news/content/images/2021/02/chrome_egdTtIso1X.png" class="kg-image" alt="chrome_egdTtIso1X" width="600" height="400" loading="lazy"></figure><p>Se você vir uma mensagem similar a exibida acima, significa que sua aplicação agora está hospedada no GitHub Pages.</p><h2 id="roteamento-no-react"><strong>Roteamento no <strong>React</strong></strong></h2><p>Até agora, tudo bem:</p><ol><li>Temos uma aplicação do React que está hospedada no GitHub Pages</li><li>Também temos um processo simplificado para fazer o deploy sempre que quisermos fazer alterações</li></ol><p>Como o objetivo deste artigo, no entanto, é mostrar uma aplicação mais complexa do que a que criamos inicialmente, discutiremos o roteamento a seguir.</p><p>Um componente que está ausente em nossa aplicação é a navegação. Nossa aplicação não terá apenas uma página, mas diversas. Então, como os usuários poderão navegar entre elas?</p><p>Roteamento é a prática de selecionar um caminho para seguir. Em termos mais básicos, o que deve acontecer quando você clica em um link dentro de uma página.</p><p>React é uma biblioteca e ela não contém tudo o que você precisa para sua aplicação (no nosso caso, o roteamento). Portanto, instalaremos o <a href="https://reactrouter.com/web/guides/quick-start">react router</a>.</p><p>O React Router tem componentes diferentes para aplicações para a web e para aplicações nativas. Como estamos construindo uma aplicação para web, utilizaremos o <strong><strong>react-router-dom</strong></strong>.</p><pre><code class="language-bash">yarn add react-router-dom</code></pre><p>Para usar o roteamento em nossa aplicação, vamos criar um elemento de navegação que ficará visível na parte superior da tela. Adicionaremos esse trecho de código no nosso arquivo App.js substituindo o HTML que já existe lá.</p><pre><code class="language-html"> &lt;div&gt;
     &lt;nav&gt;
         &lt;ul id="navigation"&gt;
             &lt;li&gt;
                 &lt;Link to="/"&gt;Home&lt;/Link&gt;
             &lt;/li&gt;
             &lt;li&gt;
                 &lt;Link to="/about"&gt;About&lt;/Link&gt;
             &lt;/li&gt;
             &lt;li&gt;
                 &lt;Link to="/contact"&gt;Contact&lt;/Link&gt;
             &lt;/li&gt;
         &lt;/ul&gt;
     &lt;/nav&gt;
&lt;/div&gt;</code></pre><p>Normalmente, em projetos que não utilizam o React, usamos um caminho relativo para as páginas em HTML em cada seção. Dessa maneira, o navegador sabe de onde ele deve buscar os dados.</p><p>Entretanto, no nosso projeto, não temos diferentes arquivos HTML para cada seção. Nós apenas faremos o carregamento de diferentes componentes. O conteúdo que estava no App.js será agora encontrado dentro de um componente chamado <em>Home</em>.</p><figure class="kg-card kg-code-card"><pre><code class="language-javascript">import './App.css';
import React from 'react';
import logo from './logo.svg';

class Home extends React.Component {
    render() {
        return (
            &lt;div className="App"&gt;
                &lt;header className="App-header"&gt;
                &lt;img src={logo} className="App-logo" alt="logo" /&gt;
                &lt;p&gt;
                    Edit &lt;code&gt;src/App.js&lt;/code&gt; and save to reload.
                &lt;/p&gt;
                &lt;a
                    className="App-link"
                    href="https://reactjs.org"
                    target="_blank"
                    rel="noopener noreferrer"
                &gt;
                    Learn React
                &lt;/a&gt;
                &lt;/header&gt;
            &lt;/div&gt;
            
        );
    }

}

export default Home;</code></pre><figcaption>Home.jsx</figcaption></figure><p>Como criamos três seções em nossa navegação e como já criamos a parte referente a <em>Home</em>, vamos criar um outro exemplo usando a seção <strong>Sobre<em>.</em></strong></p><p>Criaremos um novo arquivo chamado <strong><strong>About.jsx</strong></strong>, que conterá nosso código para a seção <strong>Sobre</strong>.</p><pre><code class="language-javascript">import React from 'react';

const divStyle = {
    color:'white'
};

class About extends React.Component {
    
    render() {
        return (
            &lt;div style={divStyle}&gt;
                &lt;h2&gt;About Page&lt;/h2&gt;
                &lt;main&gt;
                    &lt;p&gt;This section contains information about...&lt;/p&gt;
                &lt;/main&gt;
            &lt;/div&gt;
        )
    }
}



export default About;</code></pre><p>Você pode estar se perguntando, como a aplicação vai saber para onde ir quando clicarem no link <strong>sobre</strong>? Para tal, utilizaremos um componente chamado <strong><strong>Route</strong></strong>.</p><p>O Route é um dos componentes mais importantes do react-router, pois permite renderizar componentes diferentes com base no caminho do URL. Para o nosso projeto, usaremos o código a seguir dentro do App.js logo abaixo da parte de navegação.</p><pre><code class="language-html">&lt;Switch&gt;
    &lt;Route exact path="/"&gt;
    &lt;Home /&gt;
    &lt;/Route&gt;
    &lt;Route path="/about"&gt;
    &lt;About /&gt;
    &lt;/Route&gt;
&lt;/Switch&gt;</code></pre><p>Você pode ver que nós criamos duas rotas para os componentes <em>Home</em> e <em>Sobre</em>. O componente <em>Switch </em>nos permite agrupar componentes de rota e ele "escolherá" apenas um deles.</p><p>Nosso App.js fica assim:</p><pre><code class="language-javascript">import './App.css';
import React from 'react';
import { Route, Switch, Link } from "react-router-dom";
import About from './About';
import Home from './Home';

class App extends React.Component {
  render() {
      return (
        &lt;div className="App"&gt;
          &lt;div&gt;
            &lt;nav&gt;
              &lt;ul id="navigation"&gt;
                &lt;li&gt;
                  &lt;Link to="/"&gt;Home&lt;/Link&gt;
                &lt;/li&gt;
                &lt;li&gt;
                &lt;Link to="/about"&gt;About&lt;/Link&gt;
                &lt;/li&gt;
                &lt;li&gt;
                &lt;Link to="/contact"&gt;Contact&lt;/Link&gt;
                &lt;/li&gt;
              &lt;/ul&gt;
            &lt;/nav&gt;
          &lt;/div&gt;
            &lt;Switch&gt;
            &lt;Route exact path="/"&gt;
              &lt;Home /&gt;
            &lt;/Route&gt;
            &lt;Route path="/about"&gt;
              &lt;About /&gt;
            &lt;/Route&gt;
          &lt;/Switch&gt;
          &lt;/div&gt;
            );
  }
}

export default App;
</code></pre><p>Uma última coisa que precisamos fazer é envolver nosso projeto inteiro em um componente <em>Router</em>. Precisamos fazer isso porque é ele que nos permite usar um roteamento em nossa aplicação. Usaremos o componente <em>BrowserRouter, </em>pois ele usa a API de histórico do HTML5.</p><figure class="kg-card kg-code-card"><pre><code class="language-html">ReactDOM.render(
  &lt;React.StrictMode&gt;
    &lt;BrowserRouter&gt;
      &lt;App /&gt;
    &lt;/BrowserRouter&gt;
  &lt;/React.StrictMode&gt;,
  document.getElementById('root')
);</code></pre><figcaption>index.js</figcaption></figure><p>Se executarmos tudo localmente, parece funcionar. Vamos fazer o deploy do nosso projeto melhorado no GitHub Pages e veremos o resultado.</p><h2 id="como-lidar-com-o-roteamento-usando-hashrouter"><strong>Como lidar com o roteamento usando <strong>HashRouter</strong></strong></h2><p>À primeira vista, tudo parece estar funcionando bem, mas, ao tentar atualizar a página ou navegar pelo próprio navegador, você notará que continuamos recebendo erros 404.</p><p>Por que isso acontece? O motivo é que o GitHub Pages não suporta o histórico do navegador como o seu navegador faz por padrão. No nosso caso, a rota <strong><strong>https://tomerpacific.github.io/starter-project/about</strong></strong> não ajuda o GitHub Pages entender para onde direcionar o usuário (uma vez que é uma rota do front-end).</p><p>Para resolver esse problema, precisamos usar o <em>Hash Router</em> ao invés de <em>Browser Router </em>na nossa aplicação. Esse tipo de roteador usa a parte do <em>hash </em>do URL para manter a interface do usuário sincronizada com o URL.</p><figure class="kg-card kg-code-card"><pre><code class="language-html">ReactDOM.render(
  &lt;React.StrictMode&gt;
    &lt;HashRouter&gt;
      &lt;App /&gt;
    &lt;/HashRouter&gt;
  &lt;/React.StrictMode&gt;,
  document.getElementById('root')
);</code></pre><figcaption>index.js</figcaption></figure><p>Você pode ler mais sobre esse assunto <a href="https://create-react-app.dev/docs/deployment/#github-pages-https-pagesgithubcom">aqui</a> (texto em inglês).</p><p>Faça o deploy de sua aplicação novamente e teremos um resultado satisfatório. Não teremos mais erros 404.</p> ]]>
                </content:encoded>
            </item>
        
    </channel>
</rss>
