val theDate=sdf.parse(selectedDate)
theDate?.let {
val selectedDateInMin=theDate.time / 60000
val selectedDateInYear=(theDate.time/ 31536000000)
val selectedDateInMonth=(theDate.time)/2629746000
val selectedDateInDay=(theDate.time)/86400000
val currentDate=sdf.parse(sdf.format(System.currentTimeMillis()))
currentDate?.let {
val currentDateInMin=currentDate.time/60000
val currentDateInYear=(currentDate.time/ 31536000000)
val currentDateInMonth=(currentDate.time)/2629746000
val currentDateInDay=(currentDate.time)/86400000
val differenceInMin = currentDateInMin-selectedDateInMin
val differenceInYear=currentDateInYear-selectedDateInYear-1
val leap_days=(differenceInYear*(0.24)).toInt()
val differenceInMonth=currentDateInMonth-selectedDateInMonth-(differenceInYear*12)
val differenceInDay=currentDateInDay-selectedDateInDay-(differenceInYear*365)-(differenceInMonth*31)-leap_days
When I am calculating difference in Days then I have to subtract the number of days included in the difference of month. Then how will I calculate whether the month has 28 days or 31 days or 30 days and what no. I have to multiply with the differenceInMonth? How will I genearlize the formula of getting exact number of days in certain period of months for eg How many days in 2 months or 4 months?
import java.time.Duration
val sdf = SimpleDateFormat("yyyy-MM-dd hh:mm:ss")
val theDate= sdf.parse("2022-03-14 17:09:18")
val now = sdf.parse(sdf.format(System.currentTimeMillis()))
val duration = Duration.between(now.toInstant(), theDate.toInstant()).toDays()
println("$duration days")
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.