Calcolo differenza in mesi tra due date.

di minotaurus7 il
10 risposte

Saluto tutto il forum…

Mi piacerebbe sapere per cortesia, 

se esiste un modo in C# per calcolare in mesi la differenza tra due date.

ringrazio tutti fin da ora.

10 Risposte

  • Grazie oregon per il consiglio e per l'esempio che mi hai dato, quello lo avevo già visualizzato ed il risultato è in giorni. Io vorrei calcolarmi la differenza in mesi.

    comunque ti ringrazio…

  • Si ma non ti devi aspettare il copia incolla.

    Quello che ti ho mostrato sono le indicazioni su ccoSa studiare e approfondire per risolvere il tuo problema.

    Se studi quelle soluzioni puoi facilmente ottenre il valore in mesi.

    Devi metterci tu qualcosa, andiamo…

    Comunque se usi due valori di tipo DateTime (end e start), puoi scrivere semplicemente

    int mm = (end.Month - start.Month) + 12 * (end.Year - start.Year);
  • Sempre grazie…

    non voglio fare il copia incolla, vorrei capire ma ho poche nozioni. Sono un autodidatta e tante volte mi resta veramente difficile comprendere.

    Avevo già provato in questo modo:

    int mesi = (DateTime.Now - datainizio).Months;

    ma come sicuramente sai, mi dava errore mi mancava l'altra parte e francamente da solo non ci sarei mai arrivato.

    Ora provo a modificare il tutto nel modo in cui mi serve.

    Ancora grazie Oregon.

    Buona giornata.

  • 21/10/2023 - oregon ha scritto:


    int mm = (end.Month - start.Month) + 12 * (end.Year - start.Year);

    e per avere solo il numero dei mesi completi :

    int mm = (end.Month - start.Month) + 12 * (end.Year - start.Year); if (end.Day < start.Day) { mm--; }
  • E grazie anche a te Franco…

    così è completo.

    Modificato così e funziona perfettamente.

    int mesi = (DateTime.Now.Month - datainizio.Month) +12 * (DateTime.Now.Year - datainizio.Year);

    Grazie ad entrambi per l'aiuto fondamentale per risolvere.

    Buona giornata a tutti.

  • Ok, dato che il codice era di una riga (a cui potevi arrivare facilmente).

    In altri casi l'invio di codice pronto non è consentito (e non è utile).

    P.S. Franco, la tua osservazione è giusta e può servire. Ma non era indicato nulla nella richiesta. Si parlava di mesi di differenza, non di mesi completi. 

  • 21/10/2023 - oregon ha scritto:


    Ok, dato che il codice era di una riga (a cui potevi arrivare facilmente).

    In altri casi l'invio di codice pronto non è consentito (e non è utile).

    P.S. Franco, la tua osservazione è giusta e può servire. Ma non era indicato nulla nella richiesta. Si parlava di mesi di differenza, non di mesi completi. 

    Gli abbiamo fornito le due ipotesi da valutare ;-)

  • Le vostre due info sono state utilissime entrambi.

    quindi io continuo a dirvi grazie ad entrambi.

    buona giornata.

  • 21/10/2023 - By65Franco ha scritto:


    Gli abbiamo fornito le due ipotesi da valutare ;-)

    In realtà nella tua if manca il controllo che i mesi calcolati siano > 0  ma è un caso limite, se gli serve lo correggerà lui

Devi accedere o registrarti per scrivere nel forum
10 risposte