Google AMP: cuenta atrás de fechas

Otro componente de amplificador llamado Amp Date countdown que se usa para mostrar días, horas, minutos, segundos hasta una fecha determinada, es decir. Y2K38 ( 2038)por defecto. La visualización se puede hacer según las configuraciones regionales de su elección; por defecto es en (inglés). Amp-date-countdown usa la plantilla amp-mustache para renderizar datos.

En este capítulo, veremos algunos ejemplos prácticos para comprender amp-date-countdown con más detalle.

Para trabajar con amp-date-countdown, necesitamos agregar el siguiente script

Para amp-date-countdown

<script async custom-element = "amp-date-countdown" 
   src = "https://cdn.ampproject.org/v0/amp-date-countdown-0.1.js">
</script>

Para amp-bigote

<script async custom-template = "amp-mustache" 
   src = "https://cdn.ampproject.org/v0/amp-mustache-0.1.js">
</script>

Etiqueta Amp-date-countdown

La etiqueta amp-date-countdown es la siguiente:

<amp-date-countdown timestamp-seconds = "2100466648"
   layout = "fixed-height"
   height = "50">
   <template type = "amp-mustache">
      <p class = "p1">
         {{d}} days, {{h}} hours, {{m}} minutes and {{s}} seconds until
         <a href = "https://en.wikipedia.org/wiki/Year_2038_problem">
            Y2K38
         </a>.
      </p>
   </template>
</amp-date-countdown>

Atributos de amp-date-countdown

Los atributos de amp-date-countdown se enumeran en la tabla aquí:

No Señor Atributo y descripción
1

end-date

Una fecha con formato ISO para contar hacia atrás. Por ejemplo, 2025-08-01T00: 00: 00 + 08: 00

2

timestamp-ms

Un valor de época POSIX en milisegundos; se supone que es la zona horaria UTC. Por ejemplo, timestamp-ms = "1521880470000"

3

timestamp-seconds

Un valor de época POSIX en segundos; se supone que es la zona horaria UTC. Por ejemplo, timestamp-seconds = "1521880470"

4

timeleft-ms

Un valor en milisegundos que se deja en cuenta regresiva. Por ejemplo, quedan 50 horas timeleft-ms = "180,000,000"

5

offset-seconds (optional)

Un número positivo o negativo que indica la cantidad de segundos que se deben sumar o restar de la fecha de finalización dada. Por ejemplo, offset-seconds = "60" agrega 60 segundos a la fecha de finalización

6

when-ended (optional)

Especifica si se detiene el temporizador cuando llega a 0 segundos. El valor se puede configurar para detener (predeterminado) para indicar que el temporizador se detiene en 0 segundos y no pasará la fecha final o continuará para indicar que el temporizador debe continuar después de llegar a 0 segundos.

7

locale (optional)

Una cadena de idioma de internacionalización para cada unidad de temporizador. El valor predeterminado es en (para inglés). Los valores admitidos se enumeran a continuación.

Formato

Los formatos que usa amp-date-countdown para mostrar la cuenta regresiva se dan en la siguiente tabla:

No Señor Formato y descripción
1

d

Mostrar día como 0,1,2,3 ... infinito

2

dd

Mostrar día como 00,01,02,03 ... infinito

3

h

Mostrar la hora como 0,1,2,3 ... infinito

4

hh

Mostrar la hora como 00,01,02,03 ... infinito

5

m

Muestra los minutos como 0,1,2,3,4… infinito

6

mm

Muestra los minutos como 00,01,02,03… .infinity

7

s

Mostrar segundo como 0,1,2,3 ... infinito

8

ss

Mostrar el segundo como 00,01,02,03… .infinity

9

days

Mostrar día o cadena de días según la configuración regional

10

hours

Muestra la hora o la cadena de horas según la configuración regional

11

minutes

Muestra la cadena de minutos o minutos según la configuración regional

12

seconds

Mostrar cadena de segundos o segundos según la configuración regional

Ejemplo

<!doctype html>
<html amp lang = "en">
   <head>
      <meta charset = "utf-8">
      <script async src = "https://cdn.ampproject.org/v0.js"></script>
      <title>Google AMP - Amp Date-Countdown</title>
      <link rel = "canonical" href = " http://example.ampproject.org/article-metadata.html">
      <meta name = "viewport" content = "width = device-width,minimum-scale = 1,initial-scale = 1">

      <style amp-boilerplate>
         body{-webkit-animation:-amp-start 8s steps(1,end) 
            0s 1 normal both;-moz-animation:
            -amp-start 8s steps(1,end) 0s 1 normal both;-ms-animation:
            -amp-start 8s steps(1,end) 0s 1 normal both;animation:
            -amp-start 8s steps(1,end) 0s 1 normal both
         }
         @-webkit-keyframes 
         -amp-start{from{visibility:hidden}to{visibility:visible}}@-moz-keyframes 
         -amp-start{from{visibility:hidden}to{visibility:visible}}@-ms-keyframes 
         -amp-start{from{visibility:hidden}to{visibility:visible}}@-o-keyframes 
         -amp-start{from{visibility:hidden}to{visibility:visible}}@keyframes 
         -amp-start{from{visibility:hidden}to{visibility:visible}}
      </style>
      <noscript>
         <style amp-boilerplate>
            body{-webkit-animation:none;-moz-animation:none;-ms
               -animation:none;animation:none}
         </style>
      </noscript>

      <script async custom-element = "amp-date-countdown" 
         src = "https://cdn.ampproject.org/v0/amp-date-countdown-0.1.js">
      </script>

      <script async custom-template="amp-mustache" src=
         "https://cdn.ampproject.org/v0/amp-mustache-0.1.js">
      </script>
   </head>
   
   <body>
      <h1>Google AMP - Amp Date-Countdown</h1>
      <amp-date-countdown 
         timestamp-seconds = "2145683234" 
         layout = "fixed-height" 
         height = "50">
         
         <template type = "amp-mustache">
            <p class = "p1">
               {{d}} days, {{h}} hours, {{m}} minutes and 
               {{s}} seconds until
               <a href = "https://en.wikipedia.org/wiki/Year_2038_problem">
                  Y2K38
               </a>.
            </p>
         </template>
      </amp-date-countdown>
   </body>
</html>

Salida

Ejemplo

Entendamos los atributos amp-countdown offset-seconds con un ejemplo de trabajo:

<!doctype html>
<html amp lang = "en">
   <head>
      <meta charset = "utf-8">
      <script async src = "https://cdn.ampproject.org/v0.js"></script>
      <title>Google AMP - Amp Date-Countdown</title>
      <link rel = "canonical" href = " http://example.ampproject.org/article-metadata.html">
      <meta name = "viewport" content = "width = device-width,minimum-scale = 1,initial-scale = 1">
      
      <style amp-boilerplate>
         body{
            -webkit-animation:-amp-start 8s steps(1,end) 
            0s 1 normal both;-moz-animation:
            -amp-start 8s steps(1,end) 0s 1 normal both;-ms-animation:
            -amp-start 8s steps(1,end) 0s 1 normal both;animation:
            -amp-start 8s steps(1,end) 0s 1 normal both
         }
         @-webkit-keyframes 
         -amp-start{from{visibility:hidden}to{visibility:visible}}@-moz-keyframes 
         -amp-start{from{visibility:hidden}to{visibility:visible}}@-ms-keyframes 
         -amp-start{from{visibility:hidden}to{visibility:visible}}@-o-keyframes 
         -amp-start{from{visibility:hidden}to{visibility:visible}}@keyframes 
         -amp-start{from{visibility:hidden}to{visibility:visible}}
      </style>
      <noscript>
         <style amp-boilerplate>
            body{
               -webkit-animation:none;-moz-animation:none;-ms
               -animation:none;animation:none}
         </style>
      </noscript>

      <script async custom-element = "amp-date-countdown" 
         src = "https://cdn.ampproject.org/v0/amp-date-countdown-0.1.js">
      </script>

      <script async custom-template = "amp-mustache" 
         src = "https://cdn.ampproject.org/v0/amp-mustache-0.1.js">
      </script>
   </head>
   <body>
      <h1>Google AMP - Amp Date-Countdown</h1>
      <amp-date-countdown 
         end-date = "2020-01-19T08:14:08.000Z" 
         offset-seconds = "-50" 
         layout = "fixed-height" 
         height = "100">

         <template type = "amp-mustache">
            <p class = "p1">
               {{d}} days, {{h}} hours, {{m}} 
               minutes and {{s}} seconds until 50 
               seconds before 2020.
            </p>
         </template>
      </amp-date-countdown>
   </body>
</html>

Salida

Lista de configuraciones regionales admitidas

La siguiente es la lista de configuraciones regionales compatibles con amp-date-countdown:

No Señor Nombre y configuración regional
1

en

Inglés

2

es

Español

3

fr

francés

4

de

alemán

5

id

indonesio

6

it

italiano

7

ja

japonés

8

ko

coreano

9

nl

holandés

10

pt

portugués

11

ru

ruso

12

th

tailandés

13

tr

turco

14

vi

vietnamita

15

zh-cn

Chino simplificado

dieciséis

zh-tw

Chino tradicional

Ahora, probaremos un ejemplo para mostrar la cuenta regresiva usando una de las configuraciones regionales anteriores.

Ejemplo

<!doctype html>
<html amp lang = "en">
   <head>
      <meta charset = "utf-8">
      <script async src = "https://cdn.ampproject.org/v0.js"></script>
      <title>Google AMP - Amp Date-Countdown</title>
      <link rel = "canonical" href = "http://example.ampproject.org/article-metadata.html">
      <meta name="viewport" content="width = device-width, minimum-scale = 1,initial-scale = 1">

      <style amp-boilerplate>
         body{
            -webkit-animation:
            -amp-start 8s steps(1,end)0s 1 normal both;-moz-animation:
            -amp-start 8s steps(1,end) 0s 1 normal both;-ms-animation:
            -amp-start 8s steps(1,end) 0s 1 normal both;animation:
            -amp-start 8s steps(1,end) 0s 1 normal both
         }
         @-webkit-keyframes 
         -amp-start{from{visibility:hidden}to{visibility:visible}}@-moz-keyframes 
         -amp-start{from{visibility:hidden}to{visibility:visible}}@-ms-keyframes 
         -amp-start{from{visibility:hidden}to{visibility:visible}}@-o-keyframes 
         -amp-start{from{visibility:hidden}to{visibility:visible}}@keyframes 
         -amp-start{from{visibility:hidden}to{visibility:visible}}
      </style>
      <noscript>
         <style amp-boilerplate>
            body{
               -webkit-animation:none;
               -moz-animation:none;
               -ms-animation:none;
               animation:none}
         </style>
      </noscript>

      <script async custom-element = "amp-date-countdown" 
         src = "https://cdn.ampproject.org/v0/amp-date-countdown-0.1.js">
      </script>

      <script async custom-template = "amp-mustache" 
         src = "https://cdn.ampproject.org/v0/amp-mustache-0.1.js">
      </script>
   </head>
   
   <body>
      <h1>Google AMP - Amp Date-Countdown</h1>
      <amp-date-countdown 
         locale = "ja" 
         end-date = "2020-01-19T08:14:08.000Z" 
         offset-seconds = "-50" 
         layout = "fixed-height" 
         height = "100">
         
         <template type = "amp-mustache">
            <p class = "p1">
               {{d}} {{days}}, {{h}} {{hours}}, {{m}} 
               {{minutes}} and {{s}} {{seconds}} until 
               50 seconds before 2020.
            </p>
         </template>
      </amp-date-countdown>
   </body>
</html>

Salida