Visualizzazione dei risultati da 1 a 10 su 24

Hybrid View

  1. #1
    Utente di HTML.it L'avatar di luca200
    Registrato dal
    Apr 2002
    Messaggi
    4,120
    Non ho mai usato Java 8 e non conosco le specifiche di questo Period, ma esaminando le date non è che il risultato possa definirsi sbagliato.
    Se fai 30 novembre + 2 mesi arrivi al 30 gennaio, e da lì al 1° febbraio mancano 2 giorni.
    Il problema di base è che i mesi non hanno tutti la stessa durata, e quindi un periodo espresso in giorni-mesi-anni è sempre approssimato, da un certo punto di vista.

  2. #2
    Utente di HTML.it
    Registrato dal
    Feb 2007
    Messaggi
    4,157
    Quote Originariamente inviata da luca200 Visualizza il messaggio
    Non ho mai usato Java 8 e non conosco le specifiche di questo Period, ma esaminando le date non è che il risultato possa definirsi sbagliato.
    Se fai 30 novembre + 2 mesi arrivi al 30 gennaio, e da lì al 1° febbraio mancano 2 giorni.
    Il problema di base è che i mesi non hanno tutti la stessa durata, e quindi un periodo espresso in giorni-mesi-anni è sempre approssimato, da un certo punto di vista.
    l'end date non è inclusa, quindi al 1 febbraio manca 1 giorno
    RTFM Read That F*** Manual!!!

  3. #3
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Quote Originariamente inviata da luca200 Visualizza il messaggio
    Se fai 30 novembre + 2 mesi arrivi al 30 gennaio, e da lì al 1° febbraio mancano 2 giorni.
    Nel between la seconda data è esclusa, lo chiarisce bene il javadoc:

    between(LocalDate startDateInclusive, LocalDate endDateExclusive)

    Il primo caso [2012-12-01 , 2014-02-01) lo ritengo sensato e giusto: c'è tutto il 2013 in mezzo = 1 anno. C'è tutto il Gennaio 2014 (1 Febbraio escluso appunto) + tutto Dicembre 2012 = 2 mesi. E 0 altri giorni.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  4. #4
    Utente di HTML.it L'avatar di luca200
    Registrato dal
    Apr 2002
    Messaggi
    4,120
    Quote Originariamente inviata da valia Visualizza il messaggio
    l'end date non è inclusa, quindi al 1 febbraio manca 1 giorno
    Quote Originariamente inviata da andbin Visualizza il messaggio
    Nel between la seconda data è esclusa, lo chiarisce bene il javadoc:
    Se non sapete fare i calcoli evitate di scrivere a sproposito.
    La seconda data è esclusa, ma la prima è inclusa, quindi non cambia niente. Si tratta sempre di una differenza fra date. Fra il 30 gennaio e il 1° febbraio la differenza è due giorni.

  5. #5
    Utente di HTML.it
    Registrato dal
    Feb 2007
    Messaggi
    4,157
    Quote Originariamente inviata da luca200 Visualizza il messaggio
    Se non sapete fare i calcoli evitate di scrivere a sproposito.
    La seconda data è esclusa, ma la prima è inclusa, quindi non cambia niente. Si tratta sempre di una differenza fra date. Fra il 30 gennaio e il 1° febbraio la differenza è due giorni.
    ok, supponiamo che è come dici tu.
    Se dal 1 gennaio al 1 febbraio è un mese esatto, mi aspetto che dal 31 dicembre al 1 gennaio sia un mese e 1 giorno (e i conti tornano).

    Ma se conto 1 maggio 1 febbraio, mi aspetto 9 mesi. 30 aprile 1 febbraio mi aspetto 9 mesi e 1 giorno (visto che parto dal giorno prima). Se il mese è di 31 nessun problema, se è di 30 si

    [2014-05-01 , 2015-02-01) = 0 year(s), 9 month(s), 0 day(s)
    [2014-04-30 , 2015-02-01) = 0 year(s), 9 month(s), 2 day(s)

    come vedi i conti continuano a non tornare.
    RTFM Read That F*** Manual!!!

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.