Comunidad de diseño web y desarrollo en internet online

Problemas con la Hora en PHP

Citar            
MensajeEscrito el 15 Mar 2007 08:28 pm
Necesito mostrar la hora en php

tengo este codigo:

Código :

<?php
$fecha2=time();
echo date("H:i:s",$fecha2);
?>


Pero no se por que me muestra la hora con una hora de adelantado...y eso que lo estoy corriendo localmente...

Alguien me puede decir como hacer que la hora me la muestre bien

Por elboby

11 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 15 Mar 2007 11:05 pm
prueba solo poniendo:

Código :

<?
echo date("H:i:s");
?>

a mi me ha servido asi

Por petrov

186 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 16 Mar 2007 04:44 pm
igual siempre me sale la misma hora adelantada...

Por elboby

11 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 16 Mar 2007 07:39 pm
eso es raro, a mi si me sirve bien...

Por petrov

186 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 30 Abr 2009 08:27 pm

Por raztafari123

1 de clabLevel



Genero:Masculino  

msie7
Citar            
MensajeEscrito el 30 Abr 2009 11:19 pm

elboby escribió:

igual siempre me sale la misma hora adelantada...

eso significa que el servidor en el cual esta alojada tu pagina tiene el reloj adelantado

Por Inyaka

Claber

3176 de clabLevel

9 tutoriales
2 articulos

Genero:Masculino   Desarrollador de GAIA

Programador y fotógrafo

firefox
Citar            
MensajeEscrito el 01 May 2009 07:10 pm
o simple el server esta en un datacenter ubicado en una ciudad con horas de mas a la de pais tambien puede ser jajajaja

Por talcual

686 de clabLevel



 

Colombia

firefox
Citar            
MensajeEscrito el 01 May 2009 09:37 pm

talcual escribió:

o simple el server esta en un datacenter ubicado en una ciudad con horas de mas a la de pais también puede ser jajajaja

justamente por eso esta adelantado :roll:

mira, quizas puedas ajustar la zona horaria en tu cpanel o restar a la hora el tiempo sobrante, seria algo asi usando el tiempo unix de time() :

primero averigua cuantas horas esta atrasado o adelantado el reloj aquel, luego haces la siguiente busqueda en google "1 hours to seconds" esta es una funcion automatica de google ;) en este caso da 3600 segundos

Código PHP :

<?php
$fecha2=time()-3600;
echo date("H:i:s",$fecha2);
?>

Por Inyaka

Claber

3176 de clabLevel

9 tutoriales
2 articulos

Genero:Masculino   Desarrollador de GAIA

Programador y fotógrafo

firefox
Citar            
MensajeEscrito el 23 May 2009 11:46 am

Inyaka escribió:

talcual escribió:

o simple el server esta en un datacenter ubicado en una ciudad con horas de mas a la de pais también puede ser jajajaja

justamente por eso esta adelantado :roll:

mira, quizas puedas ajustar la zona horaria en tu cpanel o restar a la hora el tiempo sobrante, seria algo asi usando el tiempo unix de time() :

primero averigua cuantas horas esta atrasado o adelantado el reloj aquel, luego haces la siguiente busqueda en google "1 hours to seconds" esta es una funcion automatica de google ;) en este caso da 3600 segundos

Código PHP :

<?php
$fecha2=time()-3600;
echo date("H:i:s",$fecha2);
?>



Bueno muchachos el, problema viene de la configuracion de PHP.INI haber si revisan mas arriba lo que respondi, se daran cuenta que es la respuesta correcta para configurar la hora de su PHP

Por raztafari123

1 de clabLevel



Genero:Masculino  

msie8
Citar            
MensajeEscrito el 23 May 2009 08:27 pm
@raztafari123 ¿y que pasa si esta en un hosting publico sin acceso a php.ini?

por eso tambien plantie esta otra solución, claro, lo ideal es mediante la configuración del server

Por Inyaka

Claber

3176 de clabLevel

9 tutoriales
2 articulos

Genero:Masculino   Desarrollador de GAIA

Programador y fotógrafo

firefox
Citar            
MensajeEscrito el 14 Mar 2010 04:07 pm
hola amigos gracias por su ayuda hice eso del timezone y me funciono ok muchas gracias
ahora les cuento un problemita q tengo
tengo una base en mysql donde guardo datos de fecha como date y la hora como time
pero la hora la guarda en formato de 0-24 horas hasta ahi todo esta bien la cosa es q cuando extraigo un dato
este me sale en ese formato y yo quisiera tenerlo en formato de 0-12 en am y pm pero no se como hacerlo
y tambien como podria separar el formato 16:08:45 separar horas minutos y segundos
ojo q esto es extraido de un base de datos my sql y un uno es la hora actual porq he visto algunos ejemplos donde usan date pero eso solo me funciona para la hora actual
muchas gracias de antetodo si alquien me puede ayudar se lo agradeceria mucho
atte
gian mejia

Por gianphp

0 de clabLevel



 

msie
Citar            
MensajeEscrito el 14 Mar 2010 05:32 pm
en mysql la fecha actual se ingresa asi

Código MySQL :

INSERT INTO `mi_tabla` (`fecha_actual`,`otrocampo`) VALUES( NOW() ,'otrodato';)

Por Inyaka

Claber

3176 de clabLevel

9 tutoriales
2 articulos

Genero:Masculino   Desarrollador de GAIA

Programador y fotógrafo

firefox
Citar            
MensajeEscrito el 02 May 2010 03:20 pm
Gracias raztafari123, yo recien me di cuenta que tenia ese problema de una hora adelantada, tenia que definir bien mi data.timezone. Yo siempre usaba el mysql con la funcion NOW() para registrar la hora en mi sistema. :D


raztafari123 escribió:

el problema esta en el php.ini
en la parte de:
;date.timezone =

le quitan las comillas y le ponen su zona horaria ejem:
date.timezone = America/Lima

para que vean su zona horaria le dejo un link

http://svn.xmpp.ru/repos/tkabber/trunk/tkabber-plugins/georoster/earth


con eso solucionaran su problema
Saludos

Por wolfdvs

0 de clabLevel



 

chrome
Citar            
MensajeEscrito el 12 May 2010 07:50 am
Cuando no tenemos acceso al archivo de configuarcion php.ini lo mejor es definirlo desde el mismo script.

Código PHP :

<?php
   //Define la zona horaria exacta para cada pais.
   date_default_timezone_set('America/Bogota');
   
   #variable con la hora con formato am, pm
   $currentTime = date("g:i:s a");
   
   //echo que imprime la hora.
   echo "Hola, mundo! La hora actual es : $currentTime"; 
   
   ?>

Por kagure

1 de clabLevel



 

localhost/

firefox
Citar            
MensajeEscrito el 12 Oct 2010 03:31 pm
Hola chavos

Una duda.
Entré al archivo php.ini para descomentar la línea de date.timezone= ... pero la busqué por todo el archivo y no la encuentro.
Encontré una línea que dice:
;mbstring.language= Japanese pero creo que no es esa. Alguien sabe si tiene otro nombre o algo por el estilo?

Gracias
Ojalá y puedan ayudarme. :)

Por CLAnonimo

Claber

600 de clabLevel

5 tutoriales
1 articulo

 

Este es un usuario anónimo genérico para las cuentas borradas o perdidas.

firefox
Citar            
MensajeEscrito el 12 Oct 2010 04:47 pm
Si no está, agrégala. No pasa nada :)

Por DriverOp

Claber

2510 de clabLevel



 

opera
Citar            
MensajeEscrito el 12 Oct 2010 06:37 pm
Así nada más, entonces.
Por ejemplo pongo:
date.timezone=America/Mexico_City
o pongo como aparece en el link que dejaron para ver las zonas:
19.40 -99.15 "Mexico City" timezone=America/Mexico_City # Mexico

Y es válido que lo ponga en cualquier parte del archivo, al final por ejemplo?
Gracias DriverOp :)

Por CLAnonimo

Claber

600 de clabLevel

5 tutoriales
1 articulo

 

Este es un usuario anónimo genérico para las cuentas borradas o perdidas.

firefox
Citar            
MensajeEscrito el 12 Oct 2010 06:58 pm
Hola DriverOp
Nuevamnete dándote lata.
Qué crees?
puse la instrucción: date.timezone=America/Mexico_City hasta el final del archivo, y creé un archivo que sólo me muestra la fecha($fecha= date("g:i:s a");

echo "\$fecha=$fecha";), pero a la hora que guardé y reinicié para ver los cambios no me toma la hora actual. Al parecer el servidor aún sigue teniendo desconfigurada la hora. A mí me la muestra con casi una hora de retraso.

Tu sabrás porqué no me acomodó la hora DriverOp?

Gracias nuevamente :)

Por CLAnonimo

Claber

600 de clabLevel

5 tutoriales
1 articulo

 

Este es un usuario anónimo genérico para las cuentas borradas o perdidas.

firefox
Citar            
MensajeEscrito el 12 Oct 2010 07:17 pm
La directiva en el php.ini que comentas debe estar en el apartado [Date], de otra forma no funcionará. Debería quedarte así:

Código :

[Date]
date.timezone = America/Mexico_City

Por DriverOp

Claber

2510 de clabLevel



 

opera
Citar            
MensajeEscrito el 12 Oct 2010 08:08 pm
Puse el apartado [Date] justo debajo del ultimo apartado mostrado en el archivo, quedando como me lo mostraste anteriormente, pero sigue poniendo el retraso de 52 minutos.

y ahora?

:oops:

Por CLAnonimo

Claber

600 de clabLevel

5 tutoriales
1 articulo

 

Este es un usuario anónimo genérico para las cuentas borradas o perdidas.

firefox
Citar            
MensajeEscrito el 12 Oct 2010 10:42 pm
Hola nuevamente DriverOp
Para no dejar inconcluso nada :)
Mira ya resolví que pusiera la hora actual. Al parecer el reloj estaba atrasado como comentaba anteriormente Inyaka
Tons pues lo que hice solamente fue ajustarlo con el comando date:
1.- Entrar como root al server
2.- ejecutar: date -s "2010/10/12 17:33" y listo :) (Sería la hora y fecha actual)
No es gran cosa pero por si alguien es medio novaton en esto, ahí se los dejo.

Pues en el php.ini dejé la instrucción:
[Date]
date.timezone = "America/Mexico_City"

Por si en algún caso el servidor se moviera de país, cosa que dudo mucho como quiera me imagino que si se queda esta instrucción en el archivo, no debe causar problema alguno.

Hasta pronto

De antemano Gracias nuevamente por tu ayuda Driver

:)

Por CLAnonimo

Claber

600 de clabLevel

5 tutoriales
1 articulo

 

Este es un usuario anónimo genérico para las cuentas borradas o perdidas.

firefox
Citar            
MensajeEscrito el 22 Feb 2011 12:34 am
Que onda a todos, bueno no se si resolvieron bien bien el caso de guardar la hora correcta
del Servidor, ami me pasaba lo mismo pues la hora se guardaba con una mas de adelanto.

yo le resté una hora a la del servidor:

$time = time()-3600; //tiempo
$fecha_actual = date("Y-m-d / h:i:s a", $time); //fecha+tiempo

y guardamos en la base de datos.
Cabe mensionar que si guardamos este dato como DATATIME solo guarda la fecha y hora sin la especificasion am/pm.

si no van a dar formato a la fecha y hora y solo la quieren mostrar sin mas ni mas, les recomiendo guardarla como "text ó varchar". de este modo se guardará con el formato am/pm.

//extraemos el dato de la BD
$fech=$row['fecha'];
//la mostramos
echo"$fech"; 2011-02-21 / 06:18:45 pm

esto lo use para guardarla desde mi Host..

para guardar la hora en horario militar la "h" debe ser mayuscula

$fecha_actual = date("Y-m-d / H:i:s a", $time);

para guardar la hora en formato 12hrs la "h" debe ser minuscula.

Cambia a minuscula ó mayuscula la letra "a" para el formato "am/pm ó AM/PM"

supongo que hay otras formas mas simples o mas chidas pero pues no las encontré.

espero les sirva.

Por ovenatt

0 de clabLevel



 

msie8
Citar            
MensajeEscrito el 16 Mar 2013 01:02 am
Para que le muestre la hora y fecha exacta debe ingresar una zona horaria de su país o una que concuerde con la de su país. Ya que observe que según su respuesta ante la sugerencia de los demás, es que falla por una hora. Le recomiendo lo siguiente:

<?php
//Define la zona horaria exacta para cada pais.
date_default_timezone_set('America/Mexico_City');

$fecha= date("d/m/Y");

#variable con la hora con formato am, pm
$hora = date("g:i:s a");

//echo que imprime la hora.
echo $hora . " " .$fecha;

?>

Por CRC

0 de clabLevel



 

chrome
Citar            
MensajeEscrito el 03 Jul 2014 01:46 pm
a mí me funciona perfectamente cambiando el php.ini esta sentencia:

date.timezone =America/Bogota

Por alfaquino

1 de clabLevel



 

chrome
Citar            
MensajeEscrito el 03 Jul 2014 01:47 pm
claro para ese uso horario que incluye al Perú
date.timezone =America/Bogota

Por alfaquino

1 de clabLevel



 

chrome

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.