+ Rispondi al Thread
Visualizzazione dei risultati da 1 a 8 su 8

Discussione: [VB6] formattare le date

  1. #1
    L'avatar di BrandonHeat
    BrandonHeat non è in linea Scolaretto
    Post
    415

    [VB6] formattare le date

    Ciao a tutti!
    Mi costruisco una data in una variabile stringa così:

    codice:
    stringaData = CStr(Year(Now) - 1) + "-" + CStr(meseInizio) + "-" + CStr(giornoInizio)
    a questo punto vorrei convertirla in data in quel formato e per fare questo converto la stringa e la metto in una variabile data così:

    codice:
    data=cdate(stringaData)
    il problema è che me la converte automaticamente in dd/mm/yyyy. Come la converto in yyyy-mm-dd ?
    Grazie mille
    Ciao
    Devil never cry
    Brandon Heat

  2. #2
    Wally non è in linea Scolaretto
    Post
    401
    Tratto da MSDN:

    CDate recognizes date formats according to the locale setting of your system.
    Ciao ciao,
    Wally

    http://at-wally.blogspot.com/

    - Se un utente ti è stato d'aiuto usa il pulsante Commenta Intervento per aumentare la sua reputazione!

  3. #3
    L'avatar di BrandonHeat
    BrandonHeat non è in linea Scolaretto
    Post
    415
    si appunto..infatti la mia domanda è: come faccio a convertirla?
    Devil never cry
    Brandon Heat

  4. #4
    L'avatar di Morenz
    Morenz non è in linea Scribacchino
    Luogo
    Strambino (TO)
    Post
    504
    ... ovviamente non la puoi mantenere come stringa, vero?
    A com' atrocità
    Doppia T com' terremoto e traggedia
    I com ir' tittio
    L com' laco di sangue
    e A com' adesso vengo lì e ti sfascio le corna!!!
    -----
    Linux User #469305
    Coltivate Linux, che Windows si pianta da solo!!!


  5. #5
    Wally non è in linea Scolaretto
    Post
    401
    Come ti ho evidenziato e come hai trovato tu stesso su MSDN, la risposta è: La funzione CDate sfrutta, per la formattazione, le opzioni di sistema.
    Se vai su Pannello di Controllo--> Opzioni internazionali.. troverai la tablet "Opzioni internazionali" e vedrai che il tuo sistema operativo, essendo settato per Italia, convertirà le date nello standard dd/mm/aaaa
    Se vuoi avere un altro tipo di gestione dei valori di tipo Date, devi variare tale impostazione dal s.o.
    Ciao ciao,
    Wally

    http://at-wally.blogspot.com/

    - Se un utente ti è stato d'aiuto usa il pulsante Commenta Intervento per aumentare la sua reputazione!

  6. #6
    L'avatar di Brontolo
    Brontolo non è in linea Very Important Person
    Post
    2,282
    Scusate se mi intrometto, ma secondo me c'è un equivoco di base.
    Dire
    vorrei convertirla in data in quel formato
    non ha molto senso. Se si converte una stringa (o anche un numero) in data, la si converte in data e basta, cioè non si può modificare la rappresentazione interna di una variabile di tipo Date. Quello che si può fare è il contrario, cioè quando si "estrae" una data da una variabile di tipo Date si può decidere in che formato rappresentarla ai nostri occhi.
    La frase dell' MSDN citata significa che la funzione CDate(), di fronte ad una stringa del tipo "12-07-2007" deciderà in base alle Opzioni internazionali o Regional Settings se si tratta del 12 luglio o del 7 dicembre, ma come poi rappresenterà internamente questa data sono affari suoi e, direi anche, di scarso interesse per noi, visto che comunque possiamo farci sopra tutte le operazioni proprie delle date (DateAdd, DateDiff, Format,....)

    Ciao
    Ultima modifica di Brontolo; 12-07-2007 14:53 

  7. #7
    Wally non è in linea Scolaretto
    Post
    401
    Mmm... non credo ci sia un "equivoco"... o meglio, qui si sta discutendo proprio di questo.
    Anzi, a ben dire, non ha molto senso l'origine del post dato che, se converto una stringa in Date, lo faccio perchè ho bisogno di eseguire operazioni con valori Date e, a quel punto, non ha più senso sapere come ciò venga gestito da VB. Il valore che si ricava da un Debug.Print CDate("01-01-2007") è puramente indicativo, è solo una visualizzazione...
    Non so se è chiaro il mio ragionamento..
    Ciao ciao,
    Wally

    http://at-wally.blogspot.com/

    - Se un utente ti è stato d'aiuto usa il pulsante Commenta Intervento per aumentare la sua reputazione!

  8. #8
    L'avatar di Brontolo
    Brontolo non è in linea Very Important Person
    Post
    2,282
    appunto, è esattamente quello che ho cercato di spegare

+ Rispondi al Thread

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi