Visualizzazione dei risultati da 1 a 6 su 6

Discussione: Problemi con le date

  1. #1

    Problemi con le date

    Ciao a tutti,
    sto realizzando un'applicazione che gestisce e visualizzi gli eventi.
    Ho un pò di problemi in fase di visualizzazione. A fianco alla voce Quando: vorrei poter scegliere
    di visualizzare due possibilià :
    1) Dal 10 giugno al 20 giugno (in caso di una mostra)
    2) Il 10 giugno in caso di un concerto musicale.

    All'interno del database ho due campi di tipo date "data_inizio" e "data_fine".
    Ho pensato di fare così ma mi dà sempre il caso 1 e quando il campo data_fine è uguale a 0-00-0000 mi da 1970.
    Codice PHP:
    [b]Quando :[/b]    
        <?php
        $inizio 
    date("j m Y"strtotime($riga['data_inizio']));
        
    $fine date("j m Y"strtotime($riga['data_fine']));
        
    $anno_zero ="0-00-0000";
        if(
    $inizio == $anno_zero)
            {
            echo 
    "";    
            } 
        elseif((
    $inizio != $anno_zero) AND ($fine != anno_zero))
            {                    
        echo 
    "[b]Dal[/b]" $inizio "[b]Al[/b]" $fine;
                    }
                    else                {
                    echo 
    "il" $inizio;
                    }
                    
    ?>

  2. #2
    imposta nel database la data_inizio e la data_fine in formato americano, cioè metti sempre date e come valore predefinito metti invece di 0-00-0000, ci metti 0000-00-00

    lo stesso con $anno_zero ="0-00-0000"; lo metti in questo modo
    $anno_zero ="0000-00-00";

    fammi sapere se funziona

  3. #3
    Grazie mille per il tuo umile aiuto.
    Ci sono arrivato da solo dopo un pò di tentativi. Ho visto che non mi rispondeva nessuno e allora mi sono adoperato. Oltre al tuo consiglio ho dovuto anche spostare la funzione strtotime dopo il controllo if all'interno di echo.
    Grazie ancora per il tuo interessamento. Prima di salutarti ne approfitto per farti alcune domande sulle date. Mi sembra di capire che quando lavoro con le date devo sempre ragionare in formato americano. Giusto?
    E un'altra cosa. Volessi convertire $inizio e $fine in questo modo :
    13 novembre 2010 visto che adesso le visualizzo 13 11 2010, come dovrei fare?

  4. #4
    con le classi, ti scrivo la classe esatta così basta ke la ricopi

    allora nel database (come ho detto nella risposta precedente) il formato è 0000-00-00 (anno-mese-giorno)

    dovrai fare così, questa classe la metti prima di richiamare il database


    function conv_data($data)
    {
    list ($g,$m,$a) = explode("-", $data);
    $data = "$a-$m-$g";
    return $data;
    }


    poi dopo la variabile $anno_zero metti queste 2


    list ($date_inizio, $hour) = explode (" ", $inizio);
    list ($dat_fine, $hour) = explode (" ", $fine);


    negli echo dovrai mettere così invece


    <? echo "".conv_data($date_inizio).""; ?>
    <? echo "".conv_data($date_fine).""; ?>

  5. #5
    Utente di HTML.it L'avatar di Grino
    Registrato dal
    Oct 2004
    Messaggi
    739
    Per far apparire una data nel formato dd mese yyyy puoi fare

    codice:
    1. <?php
    2. $data="2010-11-10";
    3. 
    4.
    5. list ($anno,$mese,$giorno)=explode("-", $data);
    6. $timestamp=  mktime(null, null, null, $mese, $giorno, $anno);
    7. echo strftime("%d %B %Y", $timestamp);
    8. ?>
    $data contiene la data di esempio e la sostituisce con le tue variabili.
    Alla riga 5 spalmi il contenuto della data nelle tre variabili.
    Alla riga 6 produci il timestamp necessario alla funzione strftime
    La funzione strftime con la stringa di formattazione specificata ti produrrà la stringa
    10 novenbre 2010

  6. #6
    Grazie per il prezioso aiuto.
    Sto finendo l'applicazione da consegnare al cliente. Una volta finita ci ripasso su ad applicare i vostri suggerimenti. Quindi spero di risentirvi tra qualche giorno.
    Grazie ancora

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.