Visualizzazione dei risultati da 1 a 5 su 5

Discussione: sottrazione date

  1. #1

    sottrazione date

    ciao a tutti date due var di tipo data
    data1 e data2 con data1=22/11/2001 e data2 =22/3/2004
    come faccio a farmi restituire il numero di giorni che intercorrono fra data1 e data2?
    come dire dim c as integer
    c=data1-data2 ma nn funziona

  2. #2
    Utente di HTML.it
    Registrato dal
    Sep 2002
    Messaggi
    4,127
    ti do solo una indiicazione xkè non ho tempo di scrivere un po' di codice funzionante: cerca in msdn con DateDiff

  3. #3
    Utente di HTML.it L'avatar di Franz78
    Registrato dal
    Sep 2004
    Messaggi
    730
    Prova cosi:

    Dim d1 As Date = "22 / 1 / 2004"
    Dim d2 As Date = "22 / 4 / 2004"

    Dim differenza As Integer = DateDiff(DateInterval.Day, d1, d2)

  4. #4
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116
    allora:
    codice:
    Dim d1 As Date = "22 / 1 / 2004" 
    Dim d2 As Date = "22 / 4 / 2004"
    Questo codice, naturalmente NON FUNZIONA e NON DEVE FUNZIONARE. Non si può immettere in una variabile di tipo DateTime, una stringa. E se pure funzionasse, bisognerebbe preoccuparsi e mettere subito subito Option Strict On per evitare la conversione implicita.


    codice:
            Dim d1 As DateTime = #1/15/2005 2:10:10 PM#
            Dim d2 As DateTime = #1/10/2005 11:10:10 AM#
    
            PrintLn(d1.Subtract(d2).Days, "giorni") '--> giorni: 5
            PrintLn(d1.Subtract(d2).Hours, "ore")   '--> ore: 3
    In pratica usi il metodo Subtract che restituisce un oggetto TimeSpan, che rappresenta un intervallo di tempo, la cui unità di misura è rappresentato dal Tick, 100 nanosecondi. Una volta trovato l'intervallo di tempo, ne ricavi per esempio, i giorni o l'ora, come da esempio.


    COMUNQUE SONO RIUSCITI PURE A SCASSARE QUESTO FORUM, NON SI RIESCE A SCRIVERE E COMPARE SEMPRE UN ERRORE JAVASCRIPT
    Pietro

  5. #5
    codice:
    /// <summary>
    /// same common params as the VBScript DateDiff:
    http://msdn.microsoft.com/library/de...ctdatediff.asp
    /// /*Sample Code:
    /// * System.DateTime dt1 = new System.DateTime(1974,12,16);
    /// * System.DateTime dt2 = new System.DateTime(1973,12,16);
    /// * Page.Response.Write(Convert.ToString(DateDiff("t", dt1, dt2)));
    /// * */
    /// </summary>
    /// <param name="howtocompare"></param>
    /// <param name="startDate"></param>
    /// <param name="endDate"></param>
    /// <returns></returns>
    private double DateDiff(string howtocompare, System.DateTime
    startDate, System.DateTime endDate) {
    double diff=0;
    try {
       System.TimeSpan TS = new
       System.TimeSpan(startDate.Ticks-endDate.Ticks);
       #region converstion options
        switch (howtocompare.ToLower()) {
           case "m":
              diff = Convert.ToDouble(TS.TotalMinutes);
              break;
           case "s":
              diff = Convert.ToDouble(TS.TotalSeconds);
              break;
           case "t":
              diff = Convert.ToDouble(TS.Ticks);
               break;
           case "mm":
              diff = Convert.ToDouble(TS.TotalMilliseconds);
              break;
           case "yyyy":
               diff = Convert.ToDouble(TS.TotalDays/365);
               break;
           case "q":
               diff = Convert.ToDouble((TS.TotalDays/365)/4);
               break;
           default:
                 //d
              diff = Convert.ToDouble(TS.TotalDays);
               break;
         }
        #endregion
    } catch(Exception e) {
        diff = -1;
    }
    return diff;
    }

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