Visualizzazione dei risultati da 1 a 7 su 7
  1. #1

    [VB6] Sottrarre due date

    ho cercato nel forum e ho trovato questo dove si parla di .net
    semplicemente dovrei sottrarre una data a un'altra: ho bisogno dei giorni di differenza.
    esiste un modo semplice per farlo? immaginavo fosse semplice, poi ho pensato ai mesi di 30 o 31 giorni ecc...
    grazie, ciao

  2. #2
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Ad esempio ...

    codice:
        Dim d1 As Date
        Dim d2 As Date
        Dim g As Long
        
        d1 = CDate("01/01/2000") ' Inserisci la data del tuo compleanno
        d2 = Now
        
        g = DateDiff("d", d1, d2)
        Print g  ' Giorni passati dal tuo compleanno

  3. #3
    grazie
    ma hai presente le date che gli americani le usano con il giorno in mezzo, gli italiani con il giorno prima, e i cinesi con il giorno alla fine?
    dovrei salvare la data in un modo univoco, c'e' un modo?

  4. #4
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Il formato delle date utilizzato e' quello delle impostazioni del sistema.

    E poi "salvare" dove?

    P.S. Questo e' un quesito DIVERSO da quello della sottrazione delle date ...

  5. #5
    salvo la data corrente in un file, e poi dovrei verificare la differenza fino a quando arriva allo stesso valore di una variabile, quando la differenza della data odierna e quella che ho salvato e' uguale alla variabile scatta una routine.
    ora il problema e' che il database sta in un computer che potrebbe avere il sistema in italiano, io uso i dati con un sistema in inglese e la data e' salvata dal computer in giapponese quindi non funzionerebbe credo, a meno che trovo un modo per salvare la data sempre con un certo ordine, e trasformo la data odierna nello stesso ordine, capito?

  6. #6
    Originariamente inviato da 814(k m49!(
    salvo la data corrente in un file, e poi dovrei verificare la differenza fino a quando arriva allo stesso valore di una variabile, quando la differenza della data odierna e quella che ho salvato e' uguale alla variabile scatta una routine.
    ora il problema e' che il database sta in un computer che potrebbe avere il sistema in italiano, io uso i dati con un sistema in inglese e la data e' salvata dal computer in giapponese quindi non funzionerebbe credo, a meno che trovo un modo per salvare la data sempre con un certo ordine, e trasformo la data odierna nello stesso ordine, capito?
    Le impostazioni internazionali influiscono solo sulla visualizzazione delle date sul singolo computer, quindi non possono portare da sole a risultati errati od ambigui.

    Questo se ovviamente si utilizzano le variabili di tipo Date (che internamente usa lo stesso standard in tutti i sistemi) e la funzione sopra indicata:
    = DateDiff("d", d1, d2)

    L'errore nasce quando si utilizzano stringhe anziche' date, soprattutto quando si scrivono file: per evitare ogni problema basta usare l'istruzione
    Write #1, Date ............ scrive una DATA #2006-11-14# interpretata in modo univoco
    anziche'
    Print #1, Date ............ scrive una STRINGA 14/11/06 che ogni sistema legge come vuole !

    Ciao !
    IceCube_HT (VB6 fan Club)

  7. #7
    sei stato chiarissimo, grazie mille!

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.