Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it L'avatar di ivy_76
    Registrato dal
    Dec 2004
    Messaggi
    1,822

    Trovare un carattere nella stringa e comportarsi di conseguenza

    CIao a tutti

    io ho una data che a seconda di che form si trova può arrivarmi cosi

    2008-1-1

    oppure

    2008/1/1

    Ho creato una funzione che inverte questa data nel formato italiano e gia che ci sono ve la posto caso mai venisse utile a qualcuno.
    Dato che a monte non so in che formato arriva la data volevo intercettare la stringa e dire "Se in qualsiasi posto c'è il simobolo '-' fai una cosa, se trovi il simbolo '/' fanne un altra"

    Dov'è attualmente il problema ? Se arriva una data nel formato 2008-1-1, la data viene correttamente "girata" altrimenti la mia funzione .. non funziona !!

    Mi aiutate ?


    function datainvert($data)
    {

    $data_inizio = $data; // data iniziale

    $data_inizio_divisa = explode("-", $data_inizio);

    $giorno_inizio = $data_inizio_divisa[0];
    $mese_inizio = $data_inizio_divisa[1];
    $anno_inizio = $data_inizio_divisa[2];

    $dataItaliana = $anno_inizio . "/" . $mese_inizio . "/" . $giorno_inizio;
    return $dataItaliana;
    }
    TORTA DI RISO .. F I N I T A !!

    Da M.C.S.A. a impiegato pubblico :-(

  2. #2
    Utente di HTML.it
    Registrato dal
    Dec 2009
    Messaggi
    107
    Originariamente inviato da ivy_76
    Dov'è attualmente il problema ? Se arriva una data nel formato 2008-1-1, la data viene correttamente "girata" altrimenti la mia funzione .. non funziona !!
    ciao! non so se ho capito bene dove hai problemi, però potresti fare così:

    Codice PHP:
    function datainvert($data) {
      
    $data_inizio $data// data iniziale

      
    if(strpos($data_inizio"-")==false) { // se non trova il trattino restituisce false
        
    $data_inizio_divisa explode("/"$data_inizio);
        
    $data_invertita array_reverse($data_inizio_divisa);
        
    $dataItaliana implode("/"$data_invertita);
      }
      else {
        
    $data_inizio_divisa explode("-"$data_inizio);
        
    $data_invertita array_reverse($data_inizio_divisa);
        
    $dataItaliana implode("-"$data_invertita);
      }
      
      return 
    $dataItaliana;

    non l'ho testata ma dovrebbe andare...

  3. #3
    Utente di HTML.it L'avatar di ivy_76
    Registrato dal
    Dec 2004
    Messaggi
    1,822
    Grazie 1000 per la dritta. Ho provato la tua funziona però ogni tanto non funziona ... allora mi sono permesso di modificartela cosi

    function datainvert($data)
    {

    $data_inizio = $data; // data iniziale

    if(strpos($data_inizio, "-")==false) // se non trova il trattino restituisce false
    $data_inizio_divisa = explode("/", $data_inizio);

    else
    $data_inizio_divisa = explode("-", $data_inizio);

    $giorno_inizio = $data_inizio_divisa[0];
    $mese_inizio = $data_inizio_divisa[1];
    $anno_inizio = $data_inizio_divisa[2];


    $dataItaliana = $anno_inizio . "/" . $mese_inizio . "/" . $giorno_inizio;
    return $dataItaliana;
    }

    In pratica a me serve solo capire se la data usa il "-" o il "/" come separatore. Come è adesso sembra funzionare.
    TORTA DI RISO .. F I N I T A !!

    Da M.C.S.A. a impiegato pubblico :-(

  4. #4
    Utente di HTML.it
    Registrato dal
    Dec 2009
    Messaggi
    107
    Originariamente inviato da ivy_76
    In pratica a me serve solo capire se la data usa il "-" o il "/" come separatore. Come è adesso sembra funzionare.
    Ah, ok..perfetto! pensavo che dovessi invertirla e mantenere lo stesso separatore (- o / ) della stringa passata.
    Bene, figurati! ciao!

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.