1. ¡OFERTA! con cupón "DIRVPS": hosting por $0,01 y también VPS Linux y Windows por $0,01 el primer mes por Interserver ← publi
    Descartar aviso
Descartar aviso
Al usar este sitio web, aceptas que nosotros y nuestros socios podamos establecer cookies para fines tales como personalizar el contenido y la publicidad. Más información.

formato de fechas con php

Tema en 'Programación y Diseño Web' iniciado por marzupial, 9 Ene 2008.

  1. marzupial

    marzupial Usuario activo

    como hago para guardar un campo fecha es decir el campo esta de esta manera

    <b>fecing datetime null </b> y el formato en la bd seria de esta manera 2008-01-09

    como hago para que el formato se muestre como dia-mes-año es decir 01-09-2008

    while ($registro = mysql_fetch_array($tabla))
    {
    ?>
    <tr>
    <td><?php echo $registro['nomprod']; ?></td>
    <td><?php echo $registro['fecing']; ?></td>
    </tr>
    <?php
    } ?>
    Hay alguna funcion dentro de php o se necesita crear una
     
  2.  
  3. elQuique

    elQuique Usuario activo

    El formato de guardado no importa no tiene nada que ver con como lo muestres, puedes guardar un timestamp en un campo integer, o un campo datetime, o un campo date, lo de mostrarlo es totalmente independiente de la base de datos, no tiene mucho que ver.

    Para mostrarlo en diferentes formatos usas date(formato, valorfecha), mas información:

    <a href="http://www.php.net/manual/es/function.date.php" target="_blank">http://www.php.net/manual/es/function.date.php</a>



    Para tener en cuenta formatos locales usa:

    <a href="http://www.php.net/manual/es/function.strftime.php" target="_blank">http://www.php.net/manual/es/function.strftime.php</a>
     
  4. marzupial

    marzupial Usuario activo

    No me queda claro ?
    esta linea de codigo
    <td><?php echo $registro['fecing']; ?></td>
    //me arroja este resultado
    //2008-01-09

    //como hago para que el formato se muestre como
    //01-09-2008
     
  5. Carxl

    Carxl Nuevo usuario

    Hola marzupial :arriba:

    Y si lo haces directamente con la Db?? Si usas mysql, la funcion <a href="http://mysql.conclase.net/curso/index.php?fun=DATE_FORMAT" target="_blank">DATE_FORMAT</a> te hace lo que necesitas. Me parece mas óptimo hacerlo así.

    Sin embargo, con php se hace así:
    <!--c1--><div class='codetop'>CÓDIGO</div><div class='codemain'><!--ec1-->
    <?=date("d-m-Y",mktime(0,0,0,12,22,1983))?>
    <!--c2--></div><!--ec2-->

    De esa manera php imprime en pantalla: 22-12-1983. Pero hay una cosa, como traes esos valores(22.12.1983) si son registro de una DB?? Pues te toca otra vez con la DB jeje :D haciendo una consulta: select YEAR(fecha) as anyo, MONTH(fecha) as mes, DAY(fecha) from bla,bla,bla.... pasas como parámetro esas variables de la consulta a la función mktime...

    Me parece que con la segunda opción toca hacer mas cosas, mientras que con la primera pides lo que necesitas y ya!! :)

    Saludos, espero te sirva :adios:
     
  6. elQuique

    elQuique Usuario activo

    Marzupial parece que no te gusta leer, te pase los links mas arriba y vuelves con la misma pregunta, sin leer lo que te pase, es bueno saberlo así evito perder tiempo respondiéndote en el futuro.
     
  7. marzupial

    marzupial Usuario activo

    No es que no me guste leer sino que a veces uno busca soluciones rapidas, no es que no imbestigue tampoco sino que cambiarle el formato a una fecha me parecio un tema sencillo y al ver la info que me planteaste se me hizo un mundo en fin aqui dejo la solucion simplemente se trata de una funcion

    function cambiarFormatoFecha($fecha){
    list($anio,$mes,$dia)=explode("-",$fecha);
    return $dia."-".$mes."-".$anio;
    }

    y para aplicarla seria de este modo

    <td><?php echo cambiarFormatoFecha($registro['fecing']); ?></td>

    intentare dejar de copiar y pegar empezare a analizar mas

    saludos
     
  8. elQuique

    elQuique Usuario activo

    O sea que por no leer inventaste algo que ya existe ?? y como no te gusta leer y te gusta escribir mucho tu le llamas cambiarFormatoFecha a algo que ya se llama "date" :) ... bien sobre gustos .... seria bueno también inventaras una función que se llame:

    ImprimirEnLaPaginaDelUsuario

    y que haga lo mismo que un hecho :p
     
  9. marzupial

    marzupial Usuario activo

    jajajaja claro que no invente nada, ese codigo lo saque de otra web, a lo que me referia era, que me dio un poco de flojera leer toda la info que me enviaste por motivos x, y cambiar de 2008-10-10 por 10-10-2008 parecia sencillo pero con la info que me enviaste se me hizo un mundo, por eso volvi a preguntar para encontrar un solucion rapida ya que me habian comentado que habia una funcion que hacia eso y como no la encontre en internet por eso pregunte aqui en el foro.
    parece que me exprese mal en fin
    saludos
     
  10. SexySadie

    SexySadie Nuevo usuario

    <!--c1--><div class='codetop'>CÓDIGO</div><div class='codemain'><!--ec1--><?php echo date('d-m-Y', strtotime($registro['fecing'])); ?><!--c2--></div><!--ec2-->

    Creo ese es el código que estás buscando :)
     
  11. marzupial

    marzupial Usuario activo

    Por fin la respuesta que esperaba :)

    Saludos a todos
     
  12. elQuique

    elQuique Usuario activo

    Es la misma respuesta que te di en el segundo post, solo debías dar click en los links.

    Seria bueno que si no te gusta leer e investigar busques otro pasatiempo como el mikado, las damas, etc, pero no la programación :)
     
  13. Carxl

    Carxl Nuevo usuario

    Apoyo a Quique!!!!!!!!!!!! :D :arriba:
     
  14. SexySadie

    SexySadie Nuevo usuario

    Chicos, no sean malos con él, por lo que menciona sí visitó el sitio de php.net pero no lo entendió.

    Según yo, php.net es una gran ayuda para usuarios de nivel intermedio y avanzado, yo misma he tenido problemas para aprender un par de cosas allá, como los códigos de búsqueda y reemplazo en cadenas, no acabo de entenderlas aún.

    Igual me pasó con MySQL, tardé mucho en aprender a usar el JOIN, que es buenísimo para tratar de no sobrecargar las consultas a base de datos.

    Bueno, el caso es que de pronto no me animo a preguntar estas cosas por temor a ser tratada como novata o ignorante, me ha pasado mucho y, como no me gusta, prefiero compartir lo poco que sé con los demás, esperando algún día poder recibir el mismo trato de los que saben más que yo.
     
  15. elQuique

    elQuique Usuario activo

    SexySadie, tu se nota que lees :), si entras a un foro escrito y te dan un link directo a la solución y no lees 200 palabras para enterarte, a mi manera de ver sos muy vago para ser programador que deberías escribir miles de lineas de código ;)
     
  16. SexySadie

    SexySadie Nuevo usuario

    En cierta forma tienes razón Quique, muchos esperan recibir el código exacto sin realizar el más mínimo esfuerzo. Espero no sea el caso de Marzupial, de ser así, no llegará muy lejos en sus intentos por ser un buen desarrollador.

    Por mi parte, prefiero creer que primero trató de entenderlo y después regresó a solicitar algo más específico; tal vez la única forma de conocer la verdad sea preguntándole si ha entendido cómo funciona esa línea de código o simplemente la usó en su script.
     
  17. elQuique

    elQuique Usuario activo

    Claro, a eso me refería irónicamente cuando dije mas arriba lo que dije, en el foro ayudamos a darse cuenta y a aprender, si lo que quieren es algo ya listo pues bueno tenemos la sección de ofertas laborales :)
     


Alojamiento web, Hosting Reseller, Servidores Dedicados - All in Hosting


    
    
    
    
Blog · Sitios amigos: GuiaHosting · Unidominios · Interalta ·