Visualizzazione dei risultati da 1 a 8 su 8
  1. #1
    Cliodna
    Guest

    calcolare la differenza tra due date in vb6

    Ho due fate
    quella odierna

    DataOdierna = format(date, "yyyymmdd")


    e quella di scadenza

    DataScadenza = "20021219"

    Mi occore estrarre in una variabile la differenza tra le due date:

    DiffDate as Integer
    DiffDate = 10

    Sapete aiutarmi?

  2. #2
    usa la funzione datediff

    Funzione DateDiff


    Restituisce un valore Variant (Long) corrispondente al numero di intervalli di tempo tra due date specificate.

    Sintassi

    DateDiff(interval, date1, date2[, firstdayofweek[, firstweekofyear]])

    La sintassi della funzione DateDiff è composta dai seguentiargomenti predefiniti:

    Parte Descrizione
    interval Obbligatoria.Espressione stringa corrispondente all'intervallo di tempo utilizzato per calcolare la differenza tra date1 e date2.
    date1, date2 Obbligatoria. Variant (Date). Date da utilizzare nel calcolo.
    firstdayofweek Facoltativa.Costante che specifica il primo giorno della settimana. Se non è specificata, verrà utilizzata Domenica.
    firstweekofyear Facoltativa. Costante che specifica la prima settimana dell'anno. Se non è specificata, verrà utilizzata la settimana nella quale cade il 1 gennaio.


    Impostazioni

    Le possibili impostazioni dell’argomento interval sono:

    Impostazione Descrizione
    yyyy Anno
    q Trimestre
    m Mese
    y Giorno dell’anno
    d Giorno
    w Giorno della settimana
    ww Settimana
    h Ora
    n Minuti
    s Secondi


    Le possibili impostazioni dell’argomento firstdayofweek sono le seguenti:

    Costante Valore Descrizione
    vbUseSystem 0 Utilizza l'impostazione dell'API NLS.
    vbSunday 1 Domenica (predefinita)
    vbMonday 2 Lunedì
    vbTuesday 3 Martedì
    vbWednesday 4 Mercoledì
    vbThursday 5 Giovedì
    vbFriday 6 Venerdì
    vbSaturday 7 Sabato

    Costante Valore Descrizione
    vbUseSystem 0 Utilizza l'impostazione dell'API NLS.
    vbFirstJan1 1 Inizia con la settimana comprendente il 1 gennaio (predefinita).
    vbFirstFourDays 2 Inizia con la prima settimana di almeno quattro giorni.
    vbFirstFullWeek 3 Inizia con la prima settimana completa dell'anno.


    Osservazioni

    È possibile utilizzare la funzione DateDiff per determinare quanti intervalli di tempo specificati esistono tra due date. È, ad esempio, possibile utilizzare DateDiff per calcolare il numero di giorni che intercorrono tra due date oppure il numero di settimane tra la data odierna e la fine dell'anno.

    Per ottenere il numero di giorni tra date1 e date2 è possibile utilizzare sia l'impostazione del giorno dell'anno ("y") che quella del giorno ("d"). Quando per interval viene impostato il giorno della settimana ("w"), DateDiff restituisce il numero di settimane che intercorrono tra le due date. Se date1 cade di lunedì, DateDiff conterà il numero di lunedì fino a date2, includendo nel conteggio date2 ma non date1. Se per interval viene invece impostata la settimana ("ww"), la funzione DateDiff restituirà il numero di settimane del calendario comprese tra le due date. La funzione conterà il numero di domeniche che intercorrono tra date1 e date2, includendo nel conteggio date2 se cade di domenica, ma non date1, anche se cade di domenica.

    Se date1 è successiva a date2, la funzione DateDiff restituirà un numero negativo.

    L’argomento firstdayofweek ha effetto sui calcoli che utilizzano i simboli di intervallo "w" e "ww".

    Se date1 o date2 è unvalore letterale di data, l'anno, se specificato, diventa parte permanente della data. Se tuttavia date1 o date2 è racchiuso tra virgolette doppie ("") e si omette l'anno, ogni volta che l'espressione date1 o date2 viene valutata verrà inserito nel codice l'anno corrente. Ciò rende possibile la scrittura di codice utilizzabile per anni diversi.

    Quando si esegue il confronto tra il 31 dicembre e l'1 gennaio dell'anno immediatamente successivo, DateDiff utilizzata con l'impostazione dell'anno ("yyyy") restituisce 1 anche se è trascorso un solo giorno.
    Vascello fantasma dei mentecatti nonchè baronetto della scara corona alcolica, piccolo spuccello di pezza dislessico e ubriaco- Colui che ha modificato l'orribile scritta - Gran Evacuatore Mentecatto - Tristo Mietitore Mentecatto chi usa uTonter danneggia anche te

  3. #3
    Cliodna
    Guest
    Sono pienamente d'accordocon quanto mi hai inviato ( che fra parentesi e' un cut & paste dal Msdn) :gren:

    Vedi pero' il mio problem sta nel fatto che le date per il confronto sono in formato "yyyymmdd" e non "dd/mm/yyyy"

    Nel secondo formato non ci sono problemi nel calcolare la differenza, io avrei bisogno di calcolarlo nel primo formato poiche' la data mi arriva in quel formato.

    Tratto dall'Msdn
    codice:
    Dim TheDate As Date   ' Declare variables.
    Dim Msg
    TheDate = "19/12/2002"
    Msg = "Days from today: " & DateDiff("d", Now, TheDate)
    MsgBox Msg
    E questo codice funge, ma qui mi da type mismacht
    codice:
    Dim TheDate As Date   ' Declare variables.
    Dim Msg
    TheDate = "20021219"
    Msg = "Days from today: " & DateDiff("d", Now, TheDate)
    MsgBox Msg
    Tnk per mi puo' aiutare

    Clio



  4. #4
    Originariamente inviato da Cliodna
    Sono pienamente d'accordocon quanto mi hai inviato ( che fra parentesi e' un cut & paste dal Msdn) :gren:

    Vedi pero' il mio problem sta nel fatto che le date per il confronto sono in formato "yyyymmdd" e non "dd/mm/yyyy"

    Nel secondo formato non ci sono problemi nel calcolare la differenza, io avrei bisogno di calcolarlo nel primo formato poiche' la data mi arriva in quel formato.

    Tratto dall'Msdn
    codice:
    Dim TheDate As Date   ' Declare variables.
    Dim Msg
    TheDate = "19/12/2002"
    Msg = "Days from today: " & DateDiff("d", Now, TheDate)
    MsgBox Msg
    E questo codice funge, ma qui mi da type mismacht
    codice:
    Dim TheDate As Date   ' Declare variables.
    Dim Msg
    TheDate = "20021219"
    Msg = "Days from today: " & DateDiff("d", Now, TheDate)
    MsgBox Msg
    Tnk per mi puo' aiutare

    Clio


    basta che la trasformi in una stringa e la giri nel formato italiano
    Vascello fantasma dei mentecatti nonchè baronetto della scara corona alcolica, piccolo spuccello di pezza dislessico e ubriaco- Colui che ha modificato l'orribile scritta - Gran Evacuatore Mentecatto - Tristo Mietitore Mentecatto chi usa uTonter danneggia anche te

  5. #5
    Cliodna
    Guest
    codice:
    Dim TheDate As String   ' Declare variables.
    Dim Msg
    TheDate = Format("19/12/2002", "yyyymmdd")
    Msg = "Days from today: " & DateDiff("d", Now, CDate(Format(TheDate, "####/##/##")))
    MsgBox Msg

    Tnk Xergallo


  6. #6
    xe
    ho usato il codice datediff

    Dim TheDate As Date
    Dim Msg
    TheDate = text1.text
    Msg = "Avviso: scadenza fra giorni " & DateDiff("d", Now, TheDate)
    MsgBox Msg

    come mai in un nuovo progetto il codice funziona, mentre in un progetto che sto realizzando mi da errore: prevista varibile o funzione e non progetto:
    e il debug si ferma a datediff

    da cosa dipende?

    altra piccola domanda
    in un form uso una connessione ado da codice

    db.Open "PROVIDER=Microsoft.Jet.OLEDB.3.51;Data Source=db1.mdb"

    la connessione funziona finche da visualbasic non accedo ai file delle sulle varie unita del pc.
    dopo che richiamo o salvo form la connessione va in errore, visualbasic cerca per default il database in c:\programmi\microsoft visual studio\vb98\db1.mdb

    come posso ovviare?

    by
    gyonny

  7. #7
    gyonny se vuoi una risposta alla tua domanda sulle connessioni ADO, ti consiglio di aprire un nuovo topic e di non attaccarti a questo di Cliodna... sai com'è, se attacchiamo un problema ad un altro in uno stesso 3D non si capisce più niente...
    ciao ciao...

    05.08.2005 - by alka
    Auguri all'angelo custode dei moderatori.

  8. #8
    ok lady

    e pensare che mi ero attaccato a questo proprio per non creare nuovi post uguali

    by
    gyonny
    :bubu:

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 © 2024 vBulletin Solutions, Inc. All rights reserved.