Objeto Date

  • Enlace amigable (slug) de la revisión: Guía_JavaScript_1.5/Objetos_base_predefinidos/Objeto_Date
  • Título de la revisión: Objeto Date
  • Id de la revisión: 291836
  • Creada:
  • Creador: tiangolo
  • ¿Es la revisión actual? No
  • Comentario 2 words added, 2 words removed

Contenido de la revisión

Objeto Date

JavaScript no posee un tipo de dato para fechas {{ mediawiki.external('date') }}. Sin embargo, puede utilizar el objeto Date y sus métodos para trabajar con fechas y tiempos en sus aplicaciones. El objeto Date posee un extenso número de métodos para configurar, obtener y manipular fechas. Este no posee ninguna propiedad.

JavaScript manipula las fechas similarmente a Java. Los dos lenguajes poseen muchos de los mismos métodos para fechas y ambos lenguajes almacenas las fechas como un número de milisegundos desde Enero 1, 1970, 00:00:00.

El dominio del objeto Date es -100,000,000 días hasta 100,000,000 días relativos al 01 de Enero de 1970 UTC.

Para crear un objeto Date:

NombreObjetoDate = new Date([parámetros])

donde NombreObjetoDate es el nombre del objeto Date ha ser creado; puede ser un nuevo Objeto o una propiedad de un objeto existente.

Loa parámetros en la sintaxis precedente pueden ser cualesquiera de los siguientes:

  • Nada {{ mediawiki.external('Nothing') }}: crea la fecha de hoy día y la hora. Por ejemplo, hoydía = new Date().
  • Una cadena representando una fecha en la siguiente forma: "Mes día, año horas:minutos:segundos." Por ejemplo, Navidad95 = new Date("December 25, 1995 13:30:00"). Si se omite las horas, minutos, o segundos, el valor será configurado como cero.
  • Un conjunto de valores enteros para año, mes y día. Por ejemplo, Navidad95 = new Date(1995,11,25).
  • Un conjunto de vaores enteros para año, mes, día, hora, minuto y segundos. Por ejemplo, Navidad95 = new Date(1995,11,25,9,30,0).

JavaScript 1.2 y versiones anteriores
El objeto Date object se comporta como sigue:

  • Fechas antes de 1970 no están permitidas.
  • JavaScript dependde de las facilidades y comportamiento de una plataforma específica; el comportamiento del objeto Date varía de plataforma a plataforma.

Métodos del Objeto Date

Los métodos del objeto Date para la manipulación de fechas y tiempos caen en estas amplias categorías:

  • Métodos "set", para la configuración de valores de tiempos y fechas en objetos Date.
  • Métodos "get" para la obtención de valores de tiempos y fechas desde objetos Date.
  • Métodos "to" para retonar valores de cadena desde objetos Date.
  • Métodos UTC y de conversión, para convertir cadenas Date.

Con los métodos "get" y "set" puede obtener y configurar segundos, minutos, horas, día del mes, día de la semana, meses y años separadamente. Existe un método getDay que retorna el día de la semana, pero no el método correspondiente setDay debido a que el día de la semana es configurado automáticamente. Estos métodos utilizan enteros para representar aquellos valores como sigue:

  • Segundos y minutos: 0 a 59
  • Horas: 0 a 23
  • Día: 0 (Domingo) a 6 (Sábado)
  • Fecha: 1 a 31 (día del mes)
  • Meses: 0 (Enero) a 11 (Deciembre)
  • Año: años desde 1900

Por ejemplo, suponga que define la siguiente fecha:

Navidad95 = new Date("December 25, 1995")

Entonces Navidad95.getMonth() retorna 11 y Navidad95.getFullYear() retorna 1995.

Los métodos getTime y setTime son utilizados para comparar fechas. El método getTime retorna el número de millisegundos desde Enero 1, 1970, 00:00:00 para un objeto Date.

Por ejemplo, el código siguiente despliega el número de días transcurridos en el año actual:

hoydía = new Date()
FinAño = new Date(1995,11,31,23,59,59,999) // Configura el día y el mes
FinAño.setFullYear(hoydía.getFullYear()) // Configura año para este año
msPorDía = 24 * 60 * 60 * 1000 // Número de milisegundos por día
diastranscurridos = (finAño.getTime() - hoydía.getTime()) / msPorDía
diastranscurridos = Math.round(diastranscurridos) //retorna días transcurridos en el año

Este ejemplo crea un objeto Date llamado hoydía que contiene la fecha del día de hoy. Crea un objeto Date llamado FinAño y configura el año con el año actual. Luego, utilizando el número de milisegundos por día, computa el número de días entre hoydía y FinAño, utilizando getTime y redondeando al número total de días.

El método parse es útil para asignar valores desde cadenas de fechas a pbjetos Date existentes. Por ejemplo, el código siguiente utiliza parse y setTime para asignar el valor de fecha al objeto IPOdate:

IPOdate = new Date()
IPOdate.setTime(Date.parse("Aug 9, 1995"))

Utilizando el Objeto Date: un Ejemplo

En el siguiente ejemplo, la función JSReloj() retorna el tiempo en un formato de un reloj digital.

function JSReloj() {
   var tiempo = new Date()
   var hora = tiempo.getHours()
   var minutos = tiempo.getMinutes()
   var segundos = tiempo.getSeconds()
   var temp = "" + ((hora > 12) ? hora - 12 : hora)
   if (hora == 0)
      temp = "12";
   temp += ((minutos < 10) ? ":0" : ":") + minutos
   temp += ((segundos < 10) ? ":0" : ":") + segundos
   temp += (hora >= 12) ? " P.M." : " A.M."
   return temp
}

La función JSReloj primero crea un nuevo objeto Date llamado tiempo; puesto que no se han dado argumentos, tiempo es creado con la hora y fecha actuales. Luego invoca a los métodos getHours, getMinutes y getSeconds asignando el valor de la hora, minutos y segundos actuales a hora, minutos y segundos.

Las cuatro siguientes sentencias construyen una cadena basada en el valor del tiempo. La primera sentencia crea una variable temp, asignándole el valor utilizando una expresión condicional; if hora es mayor que 12, (hora - 12), caso contrario simplemente la hora hour, a menos que la hora sea 0, en cuyo caso se convierte en 12.

La siguiente sentencia añade el valor de minutos a temp. Si el valor de minutos es menor que 10, la expresión condicional añade una cadena con un cero por delante; caso contrario añade una cadena con dos puntos de demarcación. Luego una sentencia añade el valor de segundos a temp en la misma manera.

Finalmente, una expresión condicional añade "PM" a temp si hora es 12 o mayor; caso contrario, añade "AM" a temp.

{{ AnteriorSiguiente("Guía JavaScript 1.5:Objetos base predefinidos:Objeto Boolean", "Guía JavaScript 1.5:Objetos base predefinidos:Objeto Function") }}

{{ languages( { "en": "en/Core_JavaScript_1.5_Guide/Predefined_Core_Objects/Date_Object", "fr": "fr/Guide_JavaScript_1.5/Objets_pr\u00e9d\u00e9finis/L\'objet_Date", "ja": "ja/Core_JavaScript_1.5_Guide/Predefined_Core_Objects/Date_Object", "pl": "pl/Przewodnik_po_j\u0119zyku_JavaScript_1.5/Obiekty_predefiniowane/Obiekt_Date" } ) }}

Fuente de la revisión

<p>
</p>
<h3 name="Objeto_Date">Objeto Date</h3>
<p>JavaScript no posee un tipo de dato para fechas {{ mediawiki.external('date') }}. Sin embargo, puede utilizar el objeto <code>Date</code> y sus métodos para trabajar con fechas y tiempos en sus aplicaciones. El objeto <code>Date</code> posee un extenso número de métodos para configurar, obtener y manipular fechas. Este no posee ninguna propiedad.</p>
<p>JavaScript manipula las fechas similarmente a Java. Los dos lenguajes poseen muchos de los mismos métodos para fechas y ambos lenguajes almacenas las fechas como un número de milisegundos desde Enero 1, 1970, 00:00:00.</p>
<p>El dominio del objeto Date es -100,000,000 días hasta 100,000,000 días relativos al 01 de Enero de 1970 UTC.</p>
<p>Para crear un objeto <code>Date</code>:</p>
<pre>NombreObjetoDate = new Date([parámetros])
</pre>
<p>donde <code>NombreObjetoDate</code> es el nombre del objeto <code>Date</code> ha ser creado; puede ser un nuevo Objeto o una propiedad de un objeto existente.</p>
<p>Loa <code>parámetros</code> en la sintaxis precedente pueden ser cualesquiera de los siguientes:</p>
<ul> <li>Nada {{ mediawiki.external('Nothing') }}: crea la fecha de hoy día y la hora. Por ejemplo, hoydía = new Date().</li> <li>Una cadena representando una fecha en la siguiente forma: "Mes día, año horas:minutos:segundos." Por ejemplo, <code>Navidad95 = new Date("December 25, 1995 13:30:00")</code>. Si se omite las horas, minutos, o segundos, el valor será configurado como cero.</li> <li>Un conjunto de valores enteros para año, mes y día. Por ejemplo, Navidad95 = new Date(1995,11,25).</li> <li>Un conjunto de vaores enteros para año, mes, día, hora, minuto y segundos. Por ejemplo, <code>Navidad95 = new Date(1995,11,25,9,30,0)</code>.</li>
</ul>
<p><strong>JavaScript 1.2 y versiones anteriores</strong><br>
El objeto <code>Date</code> object se comporta como sigue:</p>
<ul> <li>Fechas antes de 1970 no están permitidas.</li> <li>JavaScript dependde de las facilidades y comportamiento de una plataforma específica; el comportamiento del objeto <code>Date</code> varía de plataforma a plataforma.</li>
</ul>
<h4 name="M.C3.A9todos_del_Objeto_Date">Métodos del Objeto Date</h4>
<p>Los métodos del objeto <code>Date</code> para la manipulación de fechas y tiempos caen en estas amplias categorías:</p>
<ul> <li>Métodos "set", para la configuración de valores de tiempos y fechas en objetos <code>Date</code>.</li> <li>Métodos "get" para la obtención de valores de tiempos y fechas desde objetos <code>Date</code>.</li> <li>Métodos "to" para retonar valores de cadena desde objetos <code>Date</code>.</li> <li>Métodos UTC y de conversión, para convertir cadenas <code>Date</code>.</li>
</ul>
<p>Con los métodos "get" y "set" puede obtener y configurar segundos, minutos, horas, día del mes, día de la semana, meses y años separadamente. Existe un método <code>getDay</code> que retorna el día de la semana, pero no el método correspondiente <code>setDay</code> debido a que el día de la semana es configurado automáticamente. Estos métodos utilizan enteros para representar aquellos valores como sigue:</p>
<ul> <li>Segundos y minutos: 0 a 59</li> <li>Horas: 0 a 23</li> <li>Día: 0 (Domingo) a 6 (Sábado)</li> <li>Fecha: 1 a 31 (día del mes)</li> <li>Meses: 0 (Enero) a 11 (Deciembre)</li> <li>Año: años desde 1900</li>
</ul>
<p>Por ejemplo, suponga que define la siguiente fecha:</p>
<pre>Navidad95 = new Date("December 25, 1995")
</pre>
<p>Entonces <code>Navidad95.getMonth()</code> retorna 11 y <code>Navidad95.getFullYear()</code> retorna 1995.</p>
<p>Los métodos <code>getTime</code> y <code>setTime</code> son utilizados para comparar fechas. El método <code>getTime</code> retorna el número de millisegundos desde Enero 1, 1970, 00:00:00 para un objeto <code>Date</code>.</p>
<p>Por ejemplo, el código siguiente despliega el número de días transcurridos en el año actual:</p>
<pre>hoydía = new Date()
FinAño = new Date(1995,11,31,23,59,59,999) // Configura el día y el mes
FinAño.setFullYear(hoydía.getFullYear()) // Configura año para este año
msPorDía = 24 * 60 * 60 * 1000 // Número de milisegundos por día
diastranscurridos = (finAño.getTime() - hoydía.getTime()) / msPorDía
diastranscurridos = Math.round(diastranscurridos) //retorna días transcurridos en el año
</pre>
<p>Este ejemplo crea un objeto <code>Date</code> llamado hoydía que contiene la fecha del día de hoy. Crea un objeto <code>Date</code> llamado <code>FinAño</code> y configura el año con el año actual. Luego, utilizando el número de milisegundos por día, computa el número de días entre hoydía y <code>FinAño</code>, utilizando <code>getTime</code> y redondeando al número total de días.</p>
<p>El método <code>parse</code> es útil para asignar valores desde cadenas de fechas a pbjetos <code>Date</code> existentes. Por ejemplo, el código siguiente utiliza <code>parse</code> y <code>setTime</code> para asignar el valor de fecha al objeto <code>IPOdate</code>:</p>
<pre>IPOdate = new Date()
IPOdate.setTime(Date.parse("Aug 9, 1995"))
</pre>
<h4 name="Utilizando_el_Objeto_Date:_un_Ejemplo">Utilizando el Objeto Date: un Ejemplo</h4>
<p>En el siguiente ejemplo, la función <code>JSReloj()</code> retorna el tiempo en un formato de un reloj digital.</p>
<pre>function JSReloj() {
   var tiempo = new Date()
   var hora = tiempo.getHours()
   var minutos = tiempo.getMinutes()
   var segundos = tiempo.getSeconds()
   var temp = "" + ((hora &gt; 12) ? hora - 12 : hora)
   if (hora == 0)
      temp = "12";
   temp += ((minutos &lt; 10) ? ":0" : ":") + minutos
   temp += ((segundos &lt; 10) ? ":0" : ":") + segundos
   temp += (hora &gt;= 12) ? " P.M." : " A.M."
   return temp
}
</pre>
<p>La función <code>JSReloj</code> primero crea un nuevo objeto Date llamado <code>tiempo</code>; puesto que no se han dado argumentos, tiempo es creado con la hora y fecha actuales. Luego invoca a los métodos <code>getHours</code>, <code>getMinutes</code> y <code>getSeconds</code> asignando el valor de la hora, minutos y segundos actuales a <code>hora</code>, <code>minutos</code> y <code>segundos</code>.</p>
<p>Las cuatro siguientes sentencias construyen una cadena basada en el valor del tiempo. La primera sentencia crea una variable <code>temp</code>, asignándole el valor utilizando una expresión condicional; if <code>hora</code> es mayor que 12, (hora - 12), caso contrario simplemente la hora hour, a menos que la hora sea 0, en cuyo caso se convierte en 12.</p>
<p>La siguiente sentencia añade el valor de <code>minutos</code> a temp. Si el valor de <code>minutos</code> es menor que 10, la expresión condicional añade una cadena con un cero por delante; caso contrario añade una cadena con dos puntos de demarcación. Luego una sentencia añade el valor de segundos a temp en la misma manera.</p>
<p>Finalmente, una expresión condicional añade "PM" a temp si <code>hora</code> es 12 o mayor; caso contrario, añade "AM" a <code>temp</code>.</p>
<p>{{ AnteriorSiguiente("Guía JavaScript 1.5:Objetos base predefinidos:Objeto Boolean", "Guía JavaScript 1.5:Objetos base predefinidos:Objeto Function") }}</p>

<p>{{ languages( { "en": "en/Core_JavaScript_1.5_Guide/Predefined_Core_Objects/Date_Object", "fr": "fr/Guide_JavaScript_1.5/Objets_pr\u00e9d\u00e9finis/L\'objet_Date", "ja": "ja/Core_JavaScript_1.5_Guide/Predefined_Core_Objects/Date_Object", "pl": "pl/Przewodnik_po_j\u0119zyku_JavaScript_1.5/Obiekty_predefiniowane/Obiekt_Date" } ) }}</p>
Revertir a esta revisión