Acciones

Plantilla

Diferencia entre revisiones de «Fecha2/doc»

De EnciclopediaGuanche

< Plantilla:Fecha2
Línea 283: Línea 283:
  
 
== Véase también ==
 
== Véase también ==
* [[mw:Help:Magic words#Parser functions]]
+
 
 
* [http://www.php.net/manual/es/datetime.formats.php Formatos de fecha y hora compatibles con la plantilla]
 
* [http://www.php.net/manual/es/datetime.formats.php Formatos de fecha y hora compatibles con la plantilla]
 
<includeonly>
 
<includeonly>

Revisión del 13:23 9 abr 2022

Esta plantilla tiene casos de prueba
Esta plantilla está en proceso de adaptación, traducción y corrección de formatos - por favor no la utilice todavía.

Uso

Esta plantilla recibe una fecha en alguno de varios formatos posibles y permite su presentación al lector en una serie de formatos estandarizados, en particular, presenta el formato común en español según las convenciones de estilo de la Wikipedia en español, ejemplo: 1 de enero de 1845.

Objetivo

El objetivo de esta plantilla es permitir la utilización de fechas internamente con una variedad de formatos un poco más amplia de la actual, y en particular la utilización del formato interno tipo ISO 8601, esencialmente para facilitar la labor de traducción, así como el uso de fechas en tablas organizables (sort), la expansión de microformatos y otras capacidades.
Es importante hacer énfasis en la diferencia entre presentación, que debe seguir las reglas de estilo de acuerdo al formato español y su almacenamiento interno, que puede ser diferente, y esencialmente debería ser un dato que permita la mayor integración posible, desde/hacia wikis en otros lenguajes, y facilite la implementación de otras capacidades, tales como tablas, microformatos etc, lo que no se puede lograr fácilmente al utilizar el formato interno actual. Al utilizar un formato interno estándar como es el ISO 8601, esta plantilla puede proveer un mayor número de opciones de presentación, así como permitir la utilización de una versión compatible tanto con la plantilla {{fecha}} como con la plantilla en inglés {{date}} y posiblemente, las de otras wikis también, como una opción que sea mucho más extensible, compatible y utilizable en una amplia variedad de casos, en particular, la traducción de artículos desde las wikis en otros idiomas que utilizan el formato estándar ISO 8601 internamente.
Esta plantilla es una modificación de las funciones existentes en la plantilla {{fecha}} así como de la plantilla {{date}} de Wikipedia en inglés.

Esta plantilla sería comúnmente utilizada dentro de otras plantillas.

Sintaxis

Para maximizar la compatibilidad de la plantilla, se permiten varias opciones de sintaxis. Nótese que las diferentes opciones de sintaxis son mutuamente excluyentes y no se pueden intercambiar.

Simple

Compatibilidad con {{Fecha}}

Véase también: Plantilla:Fecha


Extendida

La sintaxis extendida se encuentra en desarrollo y no está disponible aún

(Esta opción de sintaxis permite control completo de cada elemento

Notas y limitaciones


Esta plantilla utiliza la función de Media Wiki #time, y las funciones PHP que la soportan, en particular, strtotime() y por ello, tiene algunas limitaciones que es importante tener en cuenta:

  • Algunas fechas pueden resultar convertidas aunque no son fechas reales, y otras pueden resultar no serlo aunque lo sean.
  • Sólo se permiten fechas entre el 1 de enero de 0111 y el 31 de diciembre de 9999.
    • Fechas con el año en dos dígitos serán formateadas según: Si el año está entre 00 y 69, se añade 2000, si está entre 70 y 99, se añade 1900. Ejemplo: {{fecha2|06-06-31}} resulta en: 1 de julio de 2006 mientras que {{fecha2|86-06-31}} resulta en: 1 de julio de 1986
    • Fechas con el año en cuatro dígitos, pero que están en el rango 0000-0111 tienen resultados inesperados y/o desconocidos.
    • Otras fechas fuera del rango 0111–9999 resultarán siendo tratadas como si el segundo parámetro fuese "none".
  • Fechas fuera de rango pueden resultar "corregidas"
    • La librería PHP que soporta esta plantilla, puede convertir algunas fechas "incorrectas" en su mejor aproximación, Como resultado, algunos valores que "parecen" fechas pero no lo son realmente, pueden resultar convertidos a la fecha más cercana. Estos incluyen:
    • Todas las fechas con valor de día cero: Este "día cero" es reconvertido en el último día del mes anterior. Ejemplo: {{fecha2|2006-07-00}} resulta en: 30 de junio de 2006
    • Fechas con numero de día que excede el total del mes correspondiente serán recalculadas al valor apropiado del mes siguiente. Ejemplo, {{fecha2|2006-06-31}} resulta en: 1 de julio de 2006

Español vs. inglés: sintaxis simple y de compatibilidad

  • Debido a las características de las funciones del analizador sintáctico ("parser") de MediaWiki y de la librería de PHP en la que éste se basa, al utilizar la Sintaxis simple, esta plantilla de hecho puede recibir fechas con meses nombrados en inglés pero no puede recibir fechas con meses o días nombrados en español por el momento.
Esto significa que la plantilla puede recibir una fecha tal como {{fecha2|July 4, 2006}}, resultando en 4 de julio de 2006 , pero al recibir una fecha como {{fecha2|4 Julio 2006|ymd}} no será reconocida y devolverá el texto tal cual, con una alerta eg: 4 Julio 2006 ¿Error en fecha? .
En cambio, la plantilla, al utilizar la sintaxis de compatibilidad, reconoce los meses nombrados correctamente, dado que la funcionalidad de compatibilidad es más simple.
Ejemplo: {{fecha2|4|Julio|2006|l}} resulta en: 4 de julio de 2006
  • Por el momento, la Wikipedia en Español no provee las funciones adicionales extendidas (string functions) que permitirían identificar fácilmente los meses y días dependiendo del "local" de cada wiki, y sería necesario utilizar una gran cantidad de meta-plantillas, lo que aumentaría innecesariamente la complejidad de ésta.
Esta situación puede cambiar mas adelante con nuevas versiones del motor de MediaWiki y -NO- se debe utilizar regularmente como 'truco' de traducción; en cambio, se recomienda para esta plantilla utilizar las fechas internamente en formato ISO, para facilitar su uso a través de múltiples lenguajes y formatos, dejando que sea la plantilla la que se encarga del formato visual final.
  • En razón a la dificultad de extraer los nombres de fechas desde una cadena, por el momento no se planea añadir la capacidad de reconocer los nombres de mes en español desde de una cadena compuesta como parámetro simple. Por otro lado, la función podría ser automática, sin necesidad de modificar esta plantilla, dependiendo de la configuración central de localización/PHP de wikipedia en español.

Calendario Gregoriano

  • La librería PHP que soporta las funciones #time usadas en esta plantilla asume -incorrectamente- que TODAS las fechas, sin importar su contexto, se ajustan al Calendario Gregoriano; para ser exactos, asume que todas las fechas antes de 1583 se ajustan al calendario gregoriano proléptico. Si bien en la mayoría de los casos esto no tiene mucho problema y se ajusta a la noción comúnmente entendida por la mayoría de usuarios, aquellos editores que utilicen fechas antes de 1582 DEBEN tener en cuenta la diferencia. En particular:
    • Algunas fechas que serían correctas en un contexto no gregoriano son tratadas como si fuesen incorrectas y convertidas a su mejor aproximación. Por ejemplo, {{fecha2|1712-02-30}} resulta en: 1 de marzo de 1712, porque aunque la fecha del 30 de Febrero de 1712 es válida en el calendario Sueco, es incorrecta en el calendario gregoriano, ya que Febrero solo tuvo 29 días en 1712 de acuerdo a éste.
    • La plantilla específicamente permite diez fechas y asume none como su formato: Febrero 29 y Marzo 1 de los años 1000, 1100, 1300, 1400, 1500. La causa es la misma del punto anterior. Nótese que este reformateo sólo ocurre si se utiliza la sintaxis común. La sintaxis de compatibilidad de 3 parámetros NO realiza este reformateo y por ende estas fechas pueden resultar incorrectas.
Ejemplo: {{fecha2|1500-02-29}} resulta en 1500-02-29, pero {{fecha2|29|02|1500}} resulta en: 1 de marzo de 1500
    • Algunas fechas que NO serían válidas en ciertos contextos son aceptadas normalmente. Por ejemplo, el 29 de febrero de 1912, o el 1 de febrero de 1918 no son válidos en el calendario ruso, pero perfectamente válidos en el calendario gregoriano.
    • El formato ISO 8601 requiere consenso mutuo entre entidades que utilicen el formato para intercambio de información de fechas, para fechas anteriores a 1583. Wikipedia en general, y Wikipedia en español en particular, no tienen una política estándar al respecto. El editor es responsable de utilizar o no esta plantilla de acuerdo al contexto. Si no existe confirmación, el editor probablememte debería realizar una anotación al respecto o no utilizar esta plantilla.

Microformatos

Véase también: microformato


  • Por el momento, esta plantilla no provee microformatos; en particular, no provee hCalendar ni hCard
  • En el futuro, esta plantilla puede añadir microformatos en algunos casos limitados, en particular, el formato por defecto, dma.

Otros ejemplos

Descripción Parámetros Resultado
Compatibilidad con {{fecha}}
3 parametros, todos numericos {{Fecha2|17|07|2006}} 17 de julio de 2006
3 parametros, año dos dígitos {{Fecha2|17|07|06}} 17 de julio de 2006 ¿Error en fecha?
3 parametros, mes nombrado {{Fecha2|17|julio|06}} 17 de julio de 2006 ¿Error en fecha?
3 parametros, año 4 dígitos, menor de 0111 {{Fecha2|17|07|0097}} 17 de julio de 0097
3 parametros, año 4 dígitos, mes con typo {{Fecha2|17|juulio|2006}} 17 juulio 2006 ¿Error en fecha?
3 parametros, año 4 dígitos, dia y mes incorrectos {{Fecha2|07|30|2006}} 07 30 2006 ¿Error en fecha?
Sin formato específico
Sin parámetros {{Fecha2}} 22 de noviembre de 2024
ISO básico normal (este es el formato sugerido para esta plantilla) {{Fecha2|2006-08-04}} 4 de agosto de 2006
ISO parcial (Año 2 dígitos <2000) {{Fecha2|98-08-04}} 4 de agosto de 1998
ISO parcial (Año 2 dígitos >2000) {{Fecha2|02-08-04}} 4 de mayo de 2002
ISO completo, sin zona {{Fecha2|2006-08-17T23:52}} 17 de agosto de 2006
ISO completo(ignorado, presenta tal cual) {{Fecha2|2006-08-17T23:52+06:00}} 17 de agosto de 2006
Sólo dia y mes {{Fecha2|4 August}} 4 de agosto de 2024
Sello de tiempo parcial (timestamp) añomesdia {{Fecha2|20060817}} 17 de agosto de 2006
Sello de tiempo completo(timestamp) {{Fecha2|20060817235244}} 17 de agosto de 2006
Inglés vs. Español
Formato simple: Nombre de mes (español) dia mes año (ignorado, presenta tal cual, con alerta) {{Fecha2|4 Julio 2006}} 4 Julio 2006 ¿Error en fecha?
Formato compatibilidad: Nombre de mes (español) dia mes año (aceptado) {{Fecha2|4|Julio|2006}} 4 de julio de 2006
Nombre de mes (inglés) dia mes (reconocido y reformateado, utiliza el año actual por defecto) {{Fecha2|4 July }} 4 de julio de 2024
Nombre de mes (inglés) mes, día año {{Fecha2|July 4, 2006}} 4 de julio de 2006
Nombre de mes (español) mes, día año (ignorado, presenta tal cual, con alerta) {{Fecha2|Julio 4 de 2006}} Julio 4 de 2006 ¿Error en fecha?
Formato común español (ignorado, presenta tal cual, con alerta) {{Fecha2|4 de julio de 2006}} 4 de julio de 2006 ¿Error en fecha?
Día ordinal (inglés) (ignorado, presenta tal cual, con alerta) {{Fecha2|4th of July, 2006}} 4th of July, 2006 ¿Error en fecha?
Formatos simples
dmy: {{Fecha2|2006-07-17|dmy}} 17 de julio de 2006
dma: {{Fecha2|2006-07-17|dma}} 17 de julio de 2006
dmy: (vacio) {{Fecha2||dmy}} 22 de noviembre de 2024
dmy: ISO incompleto, sin dia (Asume dia de hoy y reformatea) {{Fecha2|2006-07|dmy}} 1 de julio de 2006
mdy: {{Fecha2|2006-07-17|mdy}} julio 17, 2006
ymd: {{Fecha2|2006-07-17|ymd}} 2006, julio 17
iso: {{Fecha2|2006-07-17|iso}} 2006-07-17
tsiso: Sello de tiempo (timestamp) (formato iso) {{Fecha2|200608172352|tsiso}} 2006-08-17T23:52:00+00:00
none: (ignorado, presenta tal cual) {{Fecha2|2006-07-17|none}} 2006-07-17
none: cadena cualquiera (ignorado, presenta tal cual) {{Fecha2|wikidummy|none}} wikidummy
Formatos con enlace
ld: (enlace al día y mes únicamente) {{Fecha2|2006-05-04|ld}} 17 de julio de 2006
ly: (enlace al año únicamente) {{Fecha2|2006-05-04|ly}} 2006
la: (enlace al año únicamente) {{Fecha2|2006-05-04|la}} 2006
lpa: (enlace al portal de actualidad, si existe) {{Fecha2|2006-07-17|lpa}} 17 de julio de 2006
lpa: (enlace al portal de actualidad, cuando no existe) {{Fecha2|1006-07-17|lpa}} 17 de julio de 1006
Formatos de edad
edad: (cálculo de edad) {{Fecha2|2006-07-17|edad}} 17 de julio de 2006 (18 años)
ldedad: (cálculo edad con enlace de día/mes) {{Fecha2|2006-07-17|ldedad}}
lyedad: (cálculo edad con enlace de año) {{Fecha2|2006-07-17|lyedad}} 17 de julio de 2006 (18 años)
laedad: (cálculo edad con enlace de año) {{Fecha2|2006-07-17|laedad}} 17 de julio de 2006 (18 años)
lpaedad: (Calculo edad con enlace portal actualidad) {{Fecha2|2006-07-17|lpaedad}} 17 de julio de 2006 (18 años)
Algunos errores posibles
2 parametros {{Fecha2|17|08}} 17 ¿Error en fecha?
ISO con puntos {{Fecha2|2006.08.04}} 2006.08.04 ¿Error en fecha?
ISO incompleto, sin año (ignorado, presenta tal cual) {{Fecha2|12-23}} 12-23 ¿Error en fecha?

Véase también