2009-08-11 44 views

Respuesta

21

En JavaScript puede obtener la fecha y hora actual usando el Date object;

var now = new Date(); 

Esto hará que el tiempo de máquina cliente local, si usted quiere hacer ajustes de zona horaria o lleve a la hora de un servidor, comprobar mi respuesta a this question.


Editar: En respuesta a tu comentario, puede recuperar su tiempo de servidor para el lado del cliente muy fácilmente:

time.php:

<? echo '{serverTime: new Date(' . time()*1000 .')}';?> 

Un simple JSON cadena se crea, con un nuevo objeto Fecha inicializado con el servidor actual time, este valor se multiplica por 1000, porque PHP maneja las marcas de tiempo en segundos, una nd JavaScript lo hace en milisegundos.

Y en el otro se puede obtener la hora del servidor así:

$.getJSON('time.php', function (data) { 
    alert(data.serverTime); 
}); 

Simplemente haga una petición getJSON para recuperar la fecha a partir time.php, y el acceso a la propiedad ServerTime del objeto devuelto .

+0

¿Es posible comprobar el fecha en el lado del servidor usando php y asignarlo a una variable y luego usar esa variable en Jquery? – amir

+0

Gracias por la respuesta, muy útil, solo me preguntaba si hay una manera de verificar un día determinado en la semana (es decir, viernes) gracias – amir

+0

En PHP, eche un vistazo a la función de tiempo de recorrido http://is.gd/ 2budP ... ie: strtotime ("el próximo viernes") – CMS

6

No es una práctica divina obtener la fecha y hora actual de la máquina del cliente.

Haga que este control sea del lado del servidor.

Puede usar jQuery para hacer una solicitud Ajax a una página y luego devolver la fecha y hora actual.

+0

a menos que conozca la zona horaria de los usuarios (p. Ej., Si han iniciado sesión y la han proporcionado en algún momento), es poco probable que la hora de su servidor sea su hora local. En este caso, ¿no es mejor utilizar el tiempo proporcionado por el navegador de los usuarios? – drevicko

2

Para aclarar las respuestas dadas hasta ahora ...

  1. La obtención de la fecha actual no es algo que es necesario el uso de jQuery para (Incluso si tenía la capacidad de hacerlo), como Javascript cruda proporciona esta instalación

    var currentTimeAndDate = new Date();

  2. Con muy pocas excepciones, debe evitar obtener la hora/fecha actual de la máquina cliente, ya que no tiene forma de saber si su reloj está configurado correctamente. Obtenga siempre la fecha del servidor, para proporcionar un cierto nivel de previsibilidad. Esto, sin embargo, tampoco es infalible, ya que el cliente podría estar realmente un día adelante o atrás del servidor, por lo que tendrá que decidir cómo manejar la situación de una manera que se adapte a su aplicación.

ACTUALIZACIÓN:

También hay una necesidad de distinguir entre la obtención de la fecha/hora estática y dinámicamente.

estáticamente es cuando el servidor hace que la hora/fecha en la página directamente - por ejemplo, es posible que desee tener un 'Esta página fue generada a las 12:34 GMT el 24 de julio 1962' (que sería un buen truco , considerando que los servidores web no existían en 1962).

es dinámicamente cuando la página del cliente actualiza de forma activa la visualización del tiempo mediante el uso de AJAX llama para pedir al servidor por el momento curent - este es el método que se describe en la respuesta proporcionada por @CMS

Cuestiones relacionadas