Autore Topic: [RISOLTO] Formato dei tipi DATE  (Letto 593 volte)

Offline Orionis

  • Gambero
  • **
  • Post: 58
    • Mostra profilo
    • BoxIdee
[RISOLTO] Formato dei tipi DATE
« il: 31 Maggio 2014, 14:05:34 »
Ma è possibile che il formato delle date sia MM/DD/YYYY ?
Io mi aspettavo un più classico DD/MM/YYYY !

Non esiste alcuna funzione di trasformazione da mese-giorno-anno a giorno-mese-anno senza spezzettare e ricostruire la stringa?
E perchè nell'help non viene illustrato il formato atteso?  :hatecomputer:
Uffa!  :'(
Ciao
« Ultima modifica: 04 Giugno 2014, 22:56:18 da Orionis »
Neanche gli Dei...possono nulla...contro la stupidità umana?

Offline vuott

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 11.305
  • Ne mors quidem nos iunget
    • Mostra profilo
Re: Formato dei tipi DATE
« Risposta #1 il: 31 Maggio 2014, 14:28:29 »
Una modalità, per ottenere il formato da te richiesto della data, è quella di usare la funzione stringa "Format()".

Mostriamo per esempio la data odierna secondo la formattazione da te indicata:
Codice: gambas [Seleziona]

Public Sub Main()

   Print Format(Now, "dd/mm/yyyy")

End
« Chiunque, non ricorrendo lo stato di necessità, nel proprio progetto Gambas fa uso delle istruzioni Shell o Exec, è punito con la sanzione pecuniaria da euro 20,00 a euro 60,00. »

Offline Orionis

  • Gambero
  • **
  • Post: 58
    • Mostra profilo
    • BoxIdee
[RISOLTO] Formato dei tipi DATE
« Risposta #2 il: 31 Maggio 2014, 17:01:21 »
Una modalità, per ottenere il formato da te richiesto della data, è quella di usare la funzione stringa "Format()".

Mostriamo per esempio la data odierna secondo la formattazione da te indicata:
Codice: gambas [Seleziona]

Public Sub Main()

   Print Format(Now, "dd/mm/yyyy")

End


Grazie vuott per la tua onnipresente e rassicurante presenza.

Purtroppo questa risposta non era la risposta cercata.
Conosco Format e, anzi, il problema nasce proprio dall'uso di questa funzione.
Io ho un grande file dati con un campo stringa (es '31/12/2014ì) con una data 'tradizionale' (dd/mm/yyyy) che devo convertire in data.
Se la passo a format per modificare il formato, mi da errore (e anche se cerco di convertirla in data con CDate)

Ho però appena trovato la soluzione spulciando ancora una volta il criptico help, con la funzione VAL che converte anche date oltre che stringhe.
Così usando: 'Format(Val("31/12/2014"),"yyyy mm") ottengo il mio risultato voluto, cioè "2014 12"
E' un pò barocco ma funziona.

Grazie comuque


Neanche gli Dei...possono nulla...contro la stupidità umana?

Offline vuott

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 11.305
  • Ne mors quidem nos iunget
    • Mostra profilo
Re: [RISOLTO] Formato dei tipi DATE
« Risposta #3 il: 31 Maggio 2014, 17:07:24 »
Grazie vuott per la tua onnipresente e rassicurante presenza.

Solo San Midi è onnipresente e protettore. 

" O San Midi protettore,
  io confido solo in te,
  io m'affido solo a te !
"
« Chiunque, non ricorrendo lo stato di necessità, nel proprio progetto Gambas fa uso delle istruzioni Shell o Exec, è punito con la sanzione pecuniaria da euro 20,00 a euro 60,00. »

Offline vuott

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 11.305
  • Ne mors quidem nos iunget
    • Mostra profilo
Re: [RISOLTO] Formato dei tipi DATE
« Risposta #4 il: 31 Maggio 2014, 17:22:24 »
...mi da errore (e anche se cerco di convertirla in data con CDate)

Ho però appena trovato la soluzione .....con la funzione VAL che converte anche date oltre che stringhe.
...
E' un pò barocco ma funziona.

La funzione CDate() accetta solo il formato data: mese/giorno/anno, non tenendo essa in considerazione la localizzazione corrente.
Ad ogni modo, puoi un pochino abbreviare la riga di codice così usando la funzione CDate():
Codice: gambas [Seleziona]

Public Sub Main()

   Print CDate(Val("18/12/2014"))

End

« Chiunque, non ricorrendo lo stato di necessità, nel proprio progetto Gambas fa uso delle istruzioni Shell o Exec, è punito con la sanzione pecuniaria da euro 20,00 a euro 60,00. »