Visualizzazione dei risultati da 1 a 10 su 24

Visualizzazione discussione

  1. #19
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,328
    Quote Originariamente inviata da andbin Visualizza il messaggio
    Ok ma prendiamo dal mio [2012-11-30 , 2014-02-01)

    In modo empirico ma comunque credo logico (niente "calcoli" matematici particolari):
    - c'è tutto il 2013 in mezzo: 1 year
    - c'è tutto il Gennaio 2014: 1 month
    - c'è tutto il Dicembre 2012: +1 month
    - c'è il 30 Novembre 2012 (che è incluso!): 1 day

    Mentre stampa: 1 year(s), 2 month(s), 2 day(s)

    È sbagliato il mio ragionamento?

    Ni... partendo dal 30/11/2012 aggiungi 1 anno.
    Arrivi al 30/11/2013. Aggiungi 2 mesi (MESI!!), arrivi al 30 gennaio 2014 (sempre per l'annoso problema dell'aggiunta di 1 mese alla data di fine di un mese di 30 giorni....) e mancano ancora 2 giorni per arrivare al 1 febbraio.


    codice:
    LocalDate data = LocalDate.of(2014, 11, 30);
    
    // Aggiungo 2 mesi
    LocalDate d1 = data.plus(2, ChronoUnit.valueOf("MONTHS"));
    System.out.format("%s + 1 MESE -> %s%n", data, d1);

    Stampa 30 gennaio.


    Il problema è questa affermazione:

    - c'è tutto il Gennaio 2014: 1 month

    In realtà non considera "tutto gennaio", ma gennaio fino al 30 (perchè parte da una data posizionata alla fine di un mese di 30 giorni).


    Ciao.
    Ultima modifica di LeleFT; 03-09-2014 a 12:48
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

Tag per questa discussione

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.