+ Rispondi al messaggio
Visualizzazione dei risultati da 1 a 4 su 4

Lavorare correttamente con le date

  1. #1
    John Hawk non è in linea Scolaretto
    Buon pomeriggio a tutti

    Innanzitutto un augurio a tutti i lavoratori (e non, che in questo periodo di crisi sono di più dei lavoratori stessi ).
    Ed ora, passiamo al mio problemuccio.

    Sto creando un piccolissimo calendario usando una FlexGrid. Leggendo la data di sistema con Date$, usando poi le funzioni Day(), Month(), Year() splitto la data per disegnare il mio calendario.

    Poniamo di lavorare con la seguente data odierna Date$: 1 Maggio 2012, che nei sistemi italo-francesi viene interpretato così 01/05/12 mentre nei sistemi anglosassoni è definito come segue 05/01/2012.

    La funzione Date$ restituisce la data odierna nel formato anglosassone. E quando vado ad estrarre il giorno usando d = Day(Date$), d contiene il valore "05" e non "01"...

    Stessa cosa succede al contrario per la funzione m = Month(Date$) che restituisce "01" invece che "05"...

    Come posso fare affinchè VB riconosca correttamente i valori Giorno, Mese ed Anno all'interno di una data indipendentemente dalle impostazioni Data/ora di sistema di Windows?

    Grazie
    John

  2. #2
    Non ho capito ... all'interno di uno stesso programma hai date anglosassoni e date in formato italiano?
    ℹ️ Leggi di più su AntonioG ...

  3. #3
    L'avatar di IceCube_MD
    IceCube_MD non è in linea Scolaretto
    Basta... lavorare correttamente con le date, e NON con le stringhe !!!!

    Tu usi Date$ che restituisce una stringa, che "soffre" delle convenzioni locali, mentre Date restituisce una data vera e propria.

  4. #4
    John Hawk non è in linea Scolaretto
    Quote Originariamente inviato da IceCube_MD Visualizza il messaggio
    Basta... lavorare correttamente con le date, e NON con le stringhe !!!!
    Tu usi Date$ che restituisce una stringa, che "soffre" delle convenzioni locali, mentre Date restituisce una data vera e propria.
    Quindi usando questo codice
    Sub SplitDate()
        Dim d As Integer, m As Integer, y As Integer
    
        d = Day(Date)
        m = Month(Date)
        Y = Year(Date)
    End Sub
    
    riesco ad ottenere i risultati corretti indipendentemente dalle impostazioni di sistema (italiane o anglosassoni) ???
    Lo chiedo perché non ho possibilità di testarlo su computer che abbiano installato Windows con impostazioni anglo-americane...

    Perchè se era tutto qua il problema (usare Date piuttosto che Date$) sono stato proprio scemo

+ Rispondi al messaggio

Potrebbero interessarti anche ...

  1. Per registrare correttamente un ocx in InnoSetup
    Da tizike nel forum Altri linguaggi e strumenti
    Risposte: 8
    Ultimo Post: 16-10-2014, 08:37
  2. impostare correttamente tabelle db
    Da Sn0rky nel forum Altri Database Server
    Risposte: 5
    Ultimo Post: 21-06-2010, 17:52
  3. Label che non si ridimensiona correttamente
    Da meccallous nel forum Visual Basic 6
    Risposte: 3
    Ultimo Post: 11-04-2006, 22:29
  4. ocx registrato non correttamente
    Da af74 nel forum Visual Basic 6
    Risposte: 1
    Ultimo Post: 16-05-2003, 17:54