<div dir="ltr">Óraátállítás :-)<div><br></div><div>R</div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">Freemail <<a href="mailto:laja@freemail.hu">laja@freemail.hu</a>> ezt írta (időpont: 2020. márc. 10., K, 12:00):<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Sziasztok!<br>
<br>
Egy számomra elég fura dologba futottam bele.<br>
<br>
A feladat alapvetően két dátum közti napok száma. Régi progi, úgyhogy <br>
még Date van.<br>
Az időszak legyen idén február elseje és április vége, és a kezdő és <br>
záró napok is számítanak. Ami elvárunk, az a 90 (29 + 31 +30).<br>
<br>
Date start = FORMAT_DATETIME.parse( "2020.02.01 00:00:00");<br>
Date end = FORMAT_DATETIME.parse( "2020.05.01 00:00:00");<br>
long diff = end.getTime() - start.getTime();<br>
System.out.println( TimeUnit.DAYS.convert(diff, TimeUnit.MILLISECONDS) + <br>
" nap" );<br>
<br>
Az eredmény: 89 nap!!!<br>
<br>
Először a TimeUnit-ra gyanakodtam, de nem az a ludas.<br>
<br>
System.out.println( start.getTime() + " - " + end.getTime() + " = " + <br>
diff + " = " + (diff/1000/60/60) + " óra");<br>
<br>
Az eredmény: 2159 óra, pedig 2160-nak kellene lennie!<br>
<br>
Aztán a szökőnapra gyanakodtam, ezért megnéztem hónaponként:<br>
<br>
System.out.println( (FORMAT_DATETIME.parse( "2020.03.01 <br>
00:00:00").getTime()-FORMAT_DATETIME.parse( "2020.02.01 <br>
00:00:00").getTime())/1000/60/60 );<br>
System.out.println( (FORMAT_DATETIME.parse( "2020.04.01 <br>
00:00:00").getTime()-FORMAT_DATETIME.parse( "2020.03.01 <br>
00:00:00").getTime())/1000/60/60 );<br>
System.out.println( (FORMAT_DATETIME.parse( "2020.05.01 <br>
00:00:00").getTime()-FORMAT_DATETIME.parse( "2020.04.01 <br>
00:00:00").getTime())/1000/60/60 );<br>
<br>
Az eredméynek: 696, 743, 721. A március a ludas, mert ott 744 órának <br>
kellene lennie!<br>
<br>
Át tudom hidalni a problémát:<br>
System.out.println( Math.round(diff/1000/60/60/24.0) + " nap" );<br>
<br>
De akkor se értem, miért lesz az adott példában a március 1 órával <br>
rövidebb?<br>
Valakinek van magyarázata vagy ötlete?<br>
<br>
(Oracle féle java 1.8)<br>
<br>
Laja<br>
<br>
<br>
_______________________________________________<br>
Javalist mailing list<br>
<a href="mailto:Javalist@lists.javaforum.hu" target="_blank">Javalist@lists.javaforum.hu</a><br>
<a href="http://lists.javaforum.hu/mailman/listinfo/javalist" rel="noreferrer" target="_blank">http://lists.javaforum.hu/mailman/listinfo/javalist</a><br>
</blockquote></div><br clear="all"><div><br></div>-- <br><div dir="ltr" class="gmail_signature">Roodie </div>