Ukuxazulula inkinga yokubala ubudala kusukela kudethi, singasebenzisa amakilasi akhelwe ngaphakathi e-Java njenge-LocalDate kanye nePeriod. Lawa makilasi ayingxenye ye-Java Time API eyethulwe ku-Java 8, eklanyelwe ukwenza izibalo zedethi nesikhathi zibe lula.
import java.time.LocalDate; import java.time.Period; public class AgeCalculator { public static void main(String[] args) { LocalDate birthDate = LocalDate.of(1990, 1, 1); LocalDate currentDate = LocalDate.now(); int age = calculateAge(birthDate, currentDate); System.out.println("Age: " + age); } public static int calculateAge(LocalDate birthDate, LocalDate currentDate) { Period period = Period.between(birthDate, currentDate); return period.getYears(); } }
Ake sihlukanise ikhodi isinyathelo ngesinyathelo. Okokuqala, singenisa amakilasi adingekayo, i-LocalDate kanye nePeriod. Sibe sesidala ikilasi elibizwa nge-AgeCalculator ngendlela eyinhloko eqalisa usuku lokuzalwa nosuku lwamanje sisebenzisa ikilasi le-LocalDate. Indlela ethi `calculateAge` ibe isibizwa nezinsuku zokuzalwa ezinikeziwe kanye nezinsuku zamanje njengezimpikiswano.
Ngaphakathi kwendlela ethi `calculateAge`, sisebenzisa indlela ethi `Period.between()`, ebala isikhathi esiphakathi kwamadethi amabili. Ekugcineni, sibuyisela umehluko weminyaka ngokubiza indlela ethi `getYears()` esikhathini esibaliwe.
I-Java Time API
The I-Java Time API, eyaziwa nangokuthi i-Java Date and Time API, iwumtapo wezincwadi onamandla owethulwe ku-Java 8 ukuze uphathe imisebenzi ehlobene nedethi nesikhathi. Iklanyelwe ukuba ibe enembile, iqine, futhi isebenziseke kalula kunokwandulele, amakilasi e-java.util.Date kanye Nekhalenda, abenezinkinga eziningi kanye nemikhawulo.
Ezinye zezici ezibalulekile ze-Java Time API zifaka:
- Amakilasi angaguquki futhi aphephile ngochungechunge.
- Ukuhlukanisa okucacile phakathi kwedethi efundeka umuntu nesikhathi nokumelela isikhathi somshini.
- I-API eguqukayo nenwebekayo ukuze isekele amakhalenda ahlukene nezinhlelo zokugcina isikhathi.
- Usekelo olwakhelwe ngaphakathi lwezoni zesikhathi nesikhathi sokonga emini.
Ukusebenzisa i-Period kanye ne-LocalDate
The Isikhathi isigaba ku-Java simele isikhathi esivezwa ngeminyaka, izinyanga, nezinsuku. Kuyikilasi eliwusizo lokubala umehluko phakathi kwamadethi amabili, njengoba kuboniswe esibonelweni sethu sokubala sobudala.
The LocalDate isigaba, ngakolunye uhlangothi, simele usuku olungenalo ulwazi lwendawo nesikhathi. Kuwusizo ukumela izinsuku zokuzalwa, izinsuku zomcimbi, nanoma iyiphi enye idethi lapho ulwazi lwesikhathi lungadingeki khona.
Esibonelweni sethu sokubala sobudala, sisebenzise indlela ethi `Period.between()` ukuze sibale umehluko phakathi kwezimo ezimbili ze-LocalDate - idethi yokuzalwa kanye nedethi yamanje. Into ye-Period engumphumela isinikeza umehluko weminyaka, izinyanga, nezinsuku phakathi kwamadethi amabili, okwenza kube lula ukubala iminyaka yomuntu.
Sengiphetha, ukubala ubudala kusukela osukwini kungafinyelelwa kalula kusetshenziswa amakilasi akhelwe ngaphakathi e-Java njenge-LocalDate kanye nePeriod. Lawa makilasi, kanye ne-Java Time API ebanzi, ahlinzeka ngesixazululo esinamandla nesiguquguqukayo sokuphatha izibalo zedethi nesikhathi ezinhlelweni zakho zokusebenza ze-Java.