Java-sproget holder styr på tiden helt i form af antallet af millisekunder , der adskiller et øjeblik fra midnat , 1 Januar 1970 UTC og gemmer denne værdi som en lang ( 64 bit) heltal . Dette gør det muligt at støtte alle mulige tidspunkter , der falder inden 290 millioner år af 1970 i begge retninger. Denne gang er enten omdannes til en mere anvendelig form af programmøren eller en af Java standardbetingelser dato og tid klasser. Timing en blok af kode
Den enkleste anvendelse af tid i Java er, hvad der kræves for at gang en blok af kode. Du skal blot ringe til System.currentTimeMillis () og gemme denne i en lang heltal før blok af kode , du ønsker at tid. For eksempel : Hej
lange starttid = System.currentTimeMillis ();
Og så, efter din blok af kode finish ( eller under , hvis du ønsker det til at repræsentere forløbet tid) , kalder System.currentTimeMillis () igen , og trække starttid fra det. For eksempel : Hej
lang ElapsedTime = System.currentTimeMillis () - starttid ,
p Hvis du ønsker en mere nøjagtig gengivelse af tid end millisekunder , kan du også erstatter currentTimeMillis () med NanoTime ().
Brug Datoer og kalendere
currentTimeMillis og NanoTime funktion udsætter os for det grundlæggende i beskæftiger sig med tiden inden for et program , men ikke med beskæftiger sig med tid i form af fælles enheder som timer, dage og år . Heldigvis Java giver en GregorianCalendar klasse til at hjælpe med at arbejde med mere intuitive tidsenheder . En GregorianCalendar kan konstrueres uden argumenter til automatisk repræsentere den aktuelle tid. For eksempel : Hej
GregorianCalendar currentTime = new GregorianCalendar ();
Eller det kan konstrueres ved hjælp af en af følgende to metoder til et bestemt tidspunkt enten i fortiden eller fremtiden : Hej < p> GregorianCalendar møde = new GregorianCalendar (2009 , 12, 14 , 8, 00 ) //08:00 den 14. december 2009GregorianCalendar meetingEnds = new GregorianCalendar (2009 , 12, 14, 8 , 46, 23 ) //08:46:23 den 14. december 2009
For at bruge vores GregorianCalendar objekter, vil vi nødt til at konvertere værdien til en dato klasse. For eksempel : Hej
Dato meetingDate = meeting.getTime (); Dato meetingEndsDate = meetingEnds.getTime ();
Beregning Forløbet tid
Beregning forløbne tid fra to date objekter er da en enkel sag
lang ElapsedTime = meetingEndsDate.getTime () - meetingDate.getTime (); .
Dette vil give os den forløbne tid i millisekunder , hvilket kan omregnes til mere intuitive enheder med nogle enkle aritmetiske .
Brug DateFormat
p Der er én mere vigtigt redskab i Java til håndtering tid, og det er den DateFormat klasse, som indeholder en række forskellige metoder til outputing Dato objekter strings og for læsning strenge tilbage i datoer. . For eksempel : Hej
String meetingString = DateFormat.getDateInstance ( DateFormat.MEDIUM ) format ( meetingDate )
Argumentet givet til getDateInstance ( ) repræsenterer den stil bruges til at sende dato. Nogle gyldige formater inkluderer FULD , lange, mellemlange og korte. KORT vil udskrive år, måned og dag helt i tal , mens FULL vil præcisere detaljer såsom tidszone for at give så mange oplysninger om den dato, som muligt.
< br >