Gambas-it

Gambas3 => Programmazione => Topic aperto da: kicco - 22 Dicembre 2016, 13:56:19

Titolo: [RISOLTO] Problemi con la data
Inserito da: kicco - 22 Dicembre 2016, 13:56:19
 :ciao:
"Date" dovrebbe restituire la parte di sola "data" di "now".
se uso:
 
Codice: [Seleziona]
 PRINT DATA(NOW)
mi aspetterei che so  01.12.2016, invece mi restituisce  01.12.2016 00:00:00. :-\
Baco?
 :ciao:
Titolo: Re:Problemi con la data
Inserito da: Gianluigi - 22 Dicembre 2016, 14:17:57
Era una cosa che avevo già chiesto nella ML comunque fai così e non hai problemi:
Codice: [Seleziona]
Print Format(Now, "dd/mm/yyyy")

 :ciao: :ciao: :ciao:
Titolo: Re:Problemi con la data
Inserito da: vuott - 22 Dicembre 2016, 14:56:13
Seppur più semplice e più utilizzato il suggerimento di Gianluigi, per curiosità segnalo anche quest'altra possibilità:

Codice: [Seleziona]
Public Sub Main()

' Nel primo argomento della funzione "Scan()" convertiamo il ritorno della funzione "Now" in una stringa.
' Poiché questa è composta da un primo gruppo di caratteri, da uno spazio e da un secondo gruppo di caratteri,
' nel secondo argomento della funzione "Scan()" riproduciamo la struttura della stringa e prendiamo il primo elemento
' del array di tipo "String[ ]" ritornato, ossia quello che contiene il gruppo di caratteri che rappresenta la data (e non l'orario):'
  Print Scan(Str(Now), "* *")[0]

End



Titolo: Re:Problemi con la data
Inserito da: kicco - 22 Dicembre 2016, 16:50:01
 :ciao:
Citazione
Era una cosa che avevo già chiesto nella ML
non lo sapevo!
Citazione
fai così
Codice: [Seleziona]
Print Format(Now, "dd/mm/yyyy")
...infatti ho dovuto fare così!

Codice: [Seleziona]
  Print Scan(Str(Now), "* *")[0]
interessante!!!
 :ciao: e grazie ad entrambi!
Titolo: Re:Problemi con la data
Inserito da: Gianluigi - 23 Dicembre 2016, 00:28:51
:ciao:
Citazione
Era una cosa che avevo già chiesto nella ML
non lo sapevo!


Finalmente sono riuscito a recuperare la discussione (http://gambas.8142.n7.nabble.com/DateChooser-strange-behavior-td54888.html) in cui Benoit Minisini e Jussi Lahtinen mi spiegano un po di cose circa l'argomento.

 :ciao: :ciao: :ciao:
Titolo: Re:[RISOLTO] Problemi con la data
Inserito da: kicco - 23 Dicembre 2016, 10:38:18
Citazione
... Benoit Minisini e Jussi Lahtinen mi spiegano un po di cose circa l'argomento.
ma Minisini non risponde al quesito del perchè con DATE venga espressa la parte oraria azzerata!
 :-\
Titolo: Re:[RISOLTO] Problemi con la data
Inserito da: Gianluigi - 23 Dicembre 2016, 10:48:00
Non direttamente, ma dice che un conto è ciò che si ottiene e l'altro è ciò che si vuole mostrare.

Per chiosare direi che se devi fare un programma per il tuo ufficio italiano puoi usare Format mentre se la data deve andarsi a localizzare in base al luogo in cui viene usato il programma credo che l'unica soluzione sia quella prospettataci da Vuott e cioè Scan.

 :ciao: :ciao:
Titolo: Re:[RISOLTO] Problemi con la data
Inserito da: Gianluigi - 21 Gennaio 2017, 23:41:12
Si è aggiunto un nuovo capitolo (http://gambas.8142.n7.nabble.com/With-Date-one-day-less-td58278.html) nella strada verso la comprensione delle date.
Ora noi in Europa, Inghilterra e dintorni esclusi, abbiamo UTC+1 cioè siamo un ora avanti rispetto a UTC zero, questo comporta che essendo Date posizionato sull'ora 00:00:00 come si può appunto vedere dal tuo quesito, se si utilizzano le stringhe, la funzione praticamente ritorna sempre il giorno prima alle ore 23, in quanto Gambas ritorna il dato UTC (https://it.wikipedia.org/wiki/Tempo_coordinato_universale).

Lo si constata facilmente con questa prova empirica:
Codice: [Seleziona]
Public Sub Main()
 
  Dim d1 As Date
 
  d1 = Date("6/15/2008")
  Print Format$(d1, "dd mm yyyy")
  d1 = Date("6/15/2008 01:00:00")
  Print Format$(d1, "dd mm yyyy")
 
End

 :ciao: