相关文章推荐
茫然的开心果  ·  服务容器 - Azure ...·  1 年前    · 
帅气的匕首  ·  用Python ...·  3 年前    · 
安静的油条  ·  Docker ERROR: Error ...·  3 年前    · 
* 默认 endTime > startTime fun timeDifferenceByCalendar (startTime: Long , endTime: Long ) : Set< Int > { val calendar1 = Calendar.getInstance() val calendar2 = Calendar.getInstance()        calendar1.timeInMillis = startTime        calendar2.timeInMillis = endTime val year = calendar2. get (Calendar.YEAR) - calendar1. get (Calendar.YEAR) // 注意跨年 val month = calendar2. get (Calendar.MONTH) + year * 12 - calendar1. get (Calendar.MONTH) val day = calendar2. get (Calendar.DAY_OF_YEAR)  - calendar1. get (Calendar.DAY_OF_YEAR) val minute = calendar2. get (Calendar.MINUTE)  - calendar1. get (Calendar.MINUTE) val second = calendar2. get (Calendar.SECOND)  - calendar1. get (Calendar.SECOND) return setOf(year, month, day, minute, second)     * 通过Period获取时间差,只能获取年月日     * @param startTime     * @param endTime     * 默认 endTime > startTime @RequiresApi(Build.VERSION_CODES.O) fun timeDifferenceByPeriod (startTime: Long , endTime: Long ) : Set< Int > { val calendar1 = Calendar.getInstance() val calendar2 = Calendar.getInstance()        calendar1.timeInMillis = startTime        calendar2.timeInMillis = endTime val localTime1 = LocalDate.of(calendar1. get (Calendar.YEAR), calendar1. get (Calendar.MONTH), calendar1. get (Calendar.DAY_OF_MONTH)) val localTime2 = LocalDate.of(calendar2. get (Calendar.YEAR), calendar2. get (Calendar.MONTH), calendar2. get (Calendar.DAY_OF_MONTH)) val period = Period.between(localTime1, localTime2) val year = period.years val month = period.months val day = period.days return setOf(year, month, day)     * 通过ChronoUnit获取时间差,只能获取年月日     * @param startTime     * @param endTime     * 默认 endTime > startTime @RequiresApi(Build.VERSION_CODES.O) fun timeDifferenceByChronoUnit (startTime: Long , endTime: Long ) : Set< Long > { val calendar1 = Calendar.getInstance() val calendar2 = Calendar.getInstance()        calendar1.timeInMillis = startTime        calendar2.timeInMillis = endTime val localTime1 = LocalDateTime.of(calendar1. get (Calendar.YEAR), calendar1. get (Calendar.MONTH), calendar1. get (Calendar.DAY_OF_MONTH), calendar1. get (Calendar.HOUR), calendar1. get (Calendar.MINUTE), calendar1. get (Calendar.SECOND)) val localTime2 = LocalDateTime.of(calendar2. get (Calendar.YEAR), calendar2. get (Calendar.MONTH), calendar2. get (Calendar.DAY_OF_MONTH), calendar2. get (Calendar.HOUR), calendar2. get (Calendar.MINUTE), calendar2. get (Calendar.SECOND)) val year = ChronoUnit.YEARS.between(localTime1, localTime2) val month = ChronoUnit.MONTHS.between(localTime1, localTime2) val day = ChronoUnit.DAYS.between(localTime1, localTime2) val hour = ChronoUnit.HOURS.between(localTime1, localTime2) val minute = ChronoUnit.MINUTES.between(localTime1, localTime2) val second = ChronoUnit.SECONDS.between(localTime1, localTime2) return setOf(year, month, day, hour, minute, second)     * 通过除法获取时间差,只能获取日时分秒差     * @param startTime     * @param endTime     * 默认 endTime > startTime @RequiresApi(Build.VERSION_CODES.O) fun timeDifferenceDefault (startTime: Long , endTime: Long ) : Set< Long > { val day = ((endTime - startTime) / ( 1000 * 60 * 60 * 24 )) val hour = ((endTime - startTime) / ( 1000 * 60 * 60 )) val minute = ((endTime - startTime) / ( 1000 * 60 )) val second = ((endTime - startTime) / 1000 ) return setOf(day, hour, minute, second)     * 判断某个时间是AM/PM fun checkTimeAM (timeStamp: Long ) : Int { val calendar = GregorianCalendar()        calendar.timeInMillis = timeStamp return calendar[GregorianCalendar.AM_PM]     * 得到包含AM/PM的时间 fun getTimeIncludeAM (timeStamp: Long ) : String { val date = Date(timeStamp) val formatter = SimpleDateFormat( "hh.mm a" ) return formatter.format(date)     * 修改AM/PM 文字 fun updateTimeAm (timeStamp: Long ) : String { val symbols = DateFormatSymbols() val modifiedAmPm = arrayOf( "上午" , "下午" )        symbols.amPmStrings = modifiedAmPm val date = Date(timeStamp) val formatter = SimpleDateFormat( "hh.mm a" , symbols) return formatter.format(date)

\

分类:
Android