Nueva pregunta

Pregunta:

Fecha: 08-08-2016 09:40:34 (En Español)

Obtener / coger hora actual del servidor con PHP[Resuelta]

Hola amigos por aqui tengo una duda, necesito tomar la hora en el server de php, ya he buscado en varios lugares y lo que siempre he visto es con time() que devuelve los segundos desde el 1 de enero de 1970 y despues con date() le pudes dar el formato que quieras. pero que siempre me lo da con respecto a la UTC, por lo que despues tengo que restarle o sumarle la zona horaria para que me de la hora de mi server. Ahora bie lo que quiero es saber la hora que tiene mi server sin yo tener que sumar o restarle la diferencia horaria, ya que ahora hago el scritp y lo publico en un server que está en argentina, pero el día de mañana quizas el sitio lo publiquen en un server que están en mejico y entonces el cliente tendría que volverme a contactar para modificar lo uso horario, algo que me parece que no debe ser. En c# existe un comando que es System.DateTime.Now y ahí tomas la hora actual de tu server independientemente del uso horario que utilice, eso es lo que necesito. Imagino que hay alguna forma de hacerlo pero la desconozco por eso les pido ayuda. gracias. Etiquetas: DateTime - PHP - Pregunta - timezone Votos: 3 - Respuestas: 2 - Vistas: 23 Compartir en: Google Facebook Twitter LinkedIn Link
 

Respuestas:

  • Fecha: 08-08-2016 22:33:28 Hola Jaime, la hora del servidor, ya sea que la tomes con la función time(), date() o con el objeto DateTime, va a estar dependiento del archivo de configuración del servidor php.ini, más precisamente del valor configurado en la propiedad date.timezone.

    Ahora bien, como seguramente no tienes acceso a este archivo (o no vas a estar configurandolo en casa servidor) lo que se suele hacer es definir el timezone desde el script de PHP con la función date_default_timezone_set() (tipicamente en algún archivo que se ejecute siempre, algo como un bootstrap.php).

    Aquí te dejo un ejemplo comentado para que pruebes con time(), date() y el objeto DateTime:

    <?php
    
    echo 'TimeZonePHP default: ', date_default_timezone_get();
    echo '<br/>';
    echo '<br/>';
    
    date_default_timezone_set('America/Argentina/Buenos_Aires'); //configuro un nuevo timezone
    echo 'TimeZonePHP configurado: ', date_default_timezone_get();
    echo '<br/>';
    echo '<br/>';
    
    echo 'Fecha/hora actual: ', date('Y-m-d h:i:s', time());
    
    echo '<br/>';
    echo '<br/>';
    
    $fecha = new DateTime('NOW');
    echo 'Fecha/hora actual: ', $fecha->format('Y-m-d H:i:s');
    


    Saludos y buen código!
      Votos: 3 - Link respuesta
     
  • Fecha: 10-08-2016 09:36:31 hola jaime

    mira yo usualemente ocupo estas lineas de código en todos mis aplicativos

    date_default_timezone_set('America/Mexico_City');
    setlocale(LC_TIME, 'es_MX.UTF-8');
    $fecha_actual=strftime("%Y-%m-%d");
    $hora_actual=strftime("%H:%M:%S");


    y ya esa variable de fecha_actual pues la uso para ya sea q quiera imprimirla o mandarla a un valor en un input date

    dale una checada a esta pagina

    http://php.net/manual/es/function.date-default-timezone-set.php

    ahi puedes ver como poner tu pais y su ciudad para q salga tu zona horaria

    checate tambien esta

    http://php.net/manual/es/function.date.php

    es para que aprendas los diferentes tipos de formatos q puedes usar con el date()

    abrazo desde méxico !
      Votos: 3 - Link respuesta
     
Para participar activamente de la comunidad primero debes autenticarte, ingresa al sistema.Iniciar Sesión
 
frjcbbae garagebible.com