Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12
  1. #1

    problemi di formattazione con le date!

    ciao a tutti...ho già postato qualche domandina sul forum html , ora tocca a PHP...
    ho un problema con la formattazione della data...
    non ho capito benissimo la differenza tra la date e il mktime....
    la date riesce a formattare solo la data odierna oppure serve anche se passo una variabile?
    cioè se gli passo 112005 riesce a formattarmi '01-01-2005'?
    altra cosa molto importante...quella che mi serve ora...
    come faccio ,passando in input un numero, ad avere il mese per esteso?
    cioè
    passo
    1
    per ottenere
    JAnuary
    passo
    2
    per ottenere
    Febrary
    ho provato con
    date ("F", mktime (0,0,0,1,0,0));
    mi stampa december...
    se faccio
    echo date ("F", mktime (0,0,0,2,0,0));
    JAnuary...
    ma perchè sballa con i mesi?
    grazie tante

  2. #2
    Utente di HTML.it
    Registrato dal
    Mar 2004
    Messaggi
    1,141
    se non erro nell'mktime, se metti il parametro del giorno a 0( come hai fatto tu), si riferirà all'ultimo giorno del mese precedente, quindi
    echo date ("F", mktime (0,0,0,2,0,0));
    in questo caso si riferirà al 31 gennaio...
    prova così:
    Codice PHP:
    echo date ("F"mktime (0,0,0,2,date("d"),date("Y"))); 
    cmq se ti interessa avere anche il mese in italiano:
    http://it2.php.net/manual/it/function.strftime.php
    http://it2.php.net/manual/it/function.setlocale.php

    spero di esserti stato d'aiuto.
    ciao

  3. #3
    ti ringrazio tantissimo, funziona...
    allora quindi la funzione DATE va bene solo per la data odierna ,e non si puo' formattare una data da una variabile?
    grazie tantissime|

  4. #4
    Utente di HTML.it
    Registrato dal
    Mar 2004
    Messaggi
    1,141
    Originariamente inviato da ChiamamiAquila
    e non si puo' formattare una data da una variabile?
    In che senso scusa?

    ciao

  5. #5
    nel senso che posso formattare solo la data di oggi
    ovvero
    facendo
    $today = date("m.d.y");
    formatto la data di oggi in formato mese . giorno . anno.

    ma se io avessi una data...che ne so, che mi viene passata in una variabile...
    posso formattarla con la funzione date?
    esempio.
    oggi è 23-0-2006
    io nella variabile data compleanno ho
    5101976
    posso formattarla con date?
    date(d/m/y,$datacompleanno)

  6. #6
    Utente di HTML.it
    Registrato dal
    Mar 2004
    Messaggi
    1,141
    se il valore è simile a questo 3012006 no perchè il secondo parametro della funzione date dev'essere timestamp...

    in quel caso dovresti fare:
    Codice PHP:

    $data 
    str_pad("3012006",8,0,STR_PAD_LEFT);
    echo 
    date("Y-m-d",mktime(0,0,0,substr($data,2,2),substr($data,0,2),substr($data,4,7))); 

    ho fatto questo:
    Codice PHP:
    $data str_pad("3012006",8,0,STR_PAD_LEFT); 
    [ http://it.php.net/manual/it/function.str-pad.php ]
    per avere una stringa di 8 caratteri poichè, se vedi, nel secondo parametro della funzione date, faccio dei substr() per ottenere dalla stringa i valori del giorno,mese ed anno, così, nel caso avessi una stringa del tipo
    12102005 nessun problema,
    2122205 creerebbe problemi perchè cambierebbero le posizioni del substr

    Spero di essere stato abbastanza chiaro...se non lo sono stato chiedo venia

  7. #7
    programmo da dieci anni ma le date per me sono sempre state un enorme problema!
    la maggior parte del tempo ho programmato in ambiente mainframe (cobol,cics,db2) ed è molto più facile gestirle perchè...non ci sono tutte le funzioni che hanno questi linguaggi!
    comunque tornando a noi....
    ora che ho risolto quel problema ne ho un altro.
    devo confrontare una stringa con un numero...
    o meglio...
    uno 01 con 1
    uno 02 con 2
    uno 03 con 3

    come faccio ?
    mi verrebbe in mente una cosa ma molto molto sporca...
    se la substr($var,1,1) = 0
    $var = substr($var,1,1)

    e poi confronto...ma mi sembra una cosa bruttissima!
    non c'è un'istruzione php che forza un numero ad essere una stringa e viceversa?

  8. #8
    Utente di HTML.it
    Registrato dal
    Mar 2004
    Messaggi
    1,141
    sempre utilizzando la funzione str_pad:
    Codice PHP:
    $str "01";
    $num 1;
    if(
    str_pad($num,2,"0",STR_PAD_LEFT) == $str)
     echo 
    "uguali";
    else 
    echo 
    "diversi" 
    prova come ti ho postato e fa sapere...

    ciao

  9. #9
    ops...mi avevi già risposto pur non avendoti ancora fatto la domanda!
    grazie per la STR_PAD_LEFT

  10. #10
    Utente di HTML.it
    Registrato dal
    Mar 2004
    Messaggi
    1,141
    Originariamente inviato da ChiamamiAquila
    ops...mi avevi già risposto pur non avendoti ancora fatto la domanda!
    grazie per la STR_PAD_LEFT
    di niente...
    cmq mi sa che l'ultimo esempio l'ho sbagliato...
    Se devi confrontare delle stringhe, usa:
    http://it.php.net/manual/it/function.strcmp.php

    io erroneamente ti ho scritto una cosa tipo
    if($uno == $due)

    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.