Programación Web y Scripting > PHP
Problema con la clase date
Reinberg:
Hola compañeros del foro, esta ves tengo una duda que no he podido resolver xD, se trata de un codigo usando fechas con la clase date bueno el problema es el que sigue:
tengo una página en la cual estoy usando los clásicos formularios de contacto, dentro de ellos tengo el campo fecha y estoy usando la clase date para imprimierlo en el value de los textbox. para ello tengo una pagina llamada prueba2.php donde pruebo los diferentes codigos ha utilizar antes de implementarlos en mi web, este es el codigo que tengo en esa pagina
--- Código: PHP --- <?phpecho(date("l d/m/Y h:i:s A"));//esto solo es una pequeña prueba nada que ver lo que importa es el textbox?><input type='text' name='txtFecha' id='txtfecha' value="<?php echo(date("l d/m/Y h:i:s A")); ?>"> lo cual me arroja la fecha actual de hoy que es: 25/06/2011 10:59:30 PM
ahora hasta ahi todo funciona muy bien el problema es cuando lo implemento en una de mis paginas del portal, el cual esta modulado usando includes, en el formulario de contactanos uso el mismo esquema para la fecha.
--- Código: PHP --- <form id="Fcontacto" name="Fcontacto" method="post" action=""> <table width="518" align="center"> <tr> <td width="508"><p class="p"><strong>Hola Bienvenido:</strong></p> <p class="p">Para cualquier duda que tengas respecto al trabajo realizado, la puedes realizar por medio de este formulario.</p> <p class="p">Gracias.</p></td> </tr> </table> <table width="523" align="center" class="" cellpadding="1"> <tr> <td colspan="2"><?php if($status==true){echo $error;} ?></td> </tr> <tr><td width="139"><strong>Usuario:</strong></td><td width="372"><input name="txtUsuario" type="text" id="textfield2" size="25" value="<?php echo $usuario; ?>" /></td> </tr> <tr> <td><strong>Fecha:</strong></td> [color=#FF0000] <td><input name="txtFecha" type="text" id="txtFecha" size="25" value="<?php echo(date("d/m/Y h:i:s A")); ?>" /></td>[/color] </tr> <tr> <td><strong>E-Mail:</strong></td> <td><input name="txtCorreo" type="text" id="textfield5" size="25" value="<?php echo $row["correo"]; ?>" /></td> </tr> <tr> <td> </td> <td> </td> </tr> <tr> <td><strong>Mensaje:</strong></td> <td><textarea name="txtMensaje" cols="40" rows="3" id="textarea"></textarea></td> </tr> <tr> <td colspan="2"> </td> </tr> <tr> <td colspan="2"><div align="center"><input type="submit" name="button" id="button" value="Enviar" onclick="requeridos();" /></div></td> </tr> <tr> <td colspan="2"> </td> </tr> </table> </form>
ai es donde tengo elproblema debido a que al correr la pagina en el servidor de manera local es decir localhost, aparece lo siguiente: 26/06/2011 06:04:27 AM
aguien sabe por que pasa pasara eso al usarlo en el sitio ya "completo"
de antemano gracias. :comp: :comp:
F_Tanori:
date() no es una clase es una funcion
Es probable que sea por la zona horaria del servidor, Mira Aqui!.
http://www.php.net/manual/es/function.d ... ne-get.php
Saludos
Reinberg:
Hola F_Tanori gracias por responder y si se me fue lo de la funcion por clase jeje :S
probe lo que me aconsejaste pero pues aun sigue el problema trate con esto y asi me funciono pero pues podria generar algunos problemas xD
dejo el code
--- Código: PHP --- <?php$sdate=date("d")."/".date("m")."/".date("Y");$sHora=date("H");$sMinu= date("i");$sForm= date("A");$sfecha = date("d/m/Y h:i a");?>
y para impresion en el textbox es asi:
--- Código: Text ---<tr> <td><strong>Fecha:</strong></td> <td><label for="txtFecha"></label> <input type='text' name='txtFecha' id='txtfecha' value="<?php echo $sdate." ".($sHora-7).":".$sMinu." "; ?>"> </td> </tr>
que opinan ustedes?
gracias por adelantado
F_Tanori:
Segun entiendo tienes una diferencia en la zona horaria, entre tu maquina y tu servidor...
--- Código: PHP ---<?phpdate_default_timezone_set('America/Los_Angeles');$fechaEnLosAngeles = date("l d/m/Y h:i:s A"); date_default_timezone_set('America/Mexico_City');$fechaEnMexicoDF = date("l d/m/Y h:i:s A"); date_default_timezone_set('America/Argentina/Buenos_Aires');$fechaEnBuenosAires = date("l d/m/Y h:i:s A"); date_default_timezone_set('Europe/Madrid');$fechaEnMadrid = date("l d/m/Y h:i:s A"); date_default_timezone_set('Europe/London');$fechaEnLondres = date("l d/m/Y h:i:s A"); date_default_timezone_set('Asia/Tokyo');$fechaEnTokio = date("l d/m/Y h:i:s A"); date_default_timezone_set('Africa/Cairo');$fechaEnElCairo = date("l d/m/Y h:i:s A"); echo "<table border='1'>";echo "<tr><td>Hora en Los Angeles:</td><td>".$fechaEnLosAngeles."</td></tr>";echo "<tr><td>Hora en Mexico DF:</td><td>".$fechaEnMexicoDF."</td></tr>";echo "<tr><td>Hora en Madrid</td><td>".$fechaEnMadrid."</td></tr>";echo "<tr><td>Hora en Buenos Aires:</td><td>".$fechaEnBuenosAires."</td></tr>";echo "<tr><td>Hora en Londres:</td><td>".$fechaEnLondres."</td></tr>";echo "<tr><td>Hora en Tokio:</td><td>".$fechaEnTokio."</td></tr>";echo "<tr><td>Hora en El Cairo:</td><td>".$fechaEnElCairo."</td></tr>"; echo "</table>";?>
Tambien existe esta funcion para, modificar la configuracion de cultura o region
http://www.php.net/manual/es/function.setlocale.php
Saludos
Reinberg:
Gracias amigo me sirvio de maravilla ya funciono el asunto lo raro es que agarro la zona horaria de los Los Angeles siendo que usualmente se usa la de Arizona aki en sonora, al menos siempre he configurado el pc en esa zona horaria que es GMT-7,pero enel manual de php no viene esa zona.
Navegación
[#] Página Siguiente
Ir a la versión completa