美文网首页
把24小时以半小时为刻度 划分成48个时间片段

把24小时以半小时为刻度 划分成48个时间片段

作者: 别看后面有人 | 来源:发表于2022-09-04 10:28 被阅读0次

24小时分成48个碎片时间并且判断是否时间已经过去

   //24小时分成48个碎片时间
    fun timeRangeList(dateStr:String): ArrayList<TimeRangeBean> {
        val nowTimeDf=SimpleDateFormat("M月dd日")
        val nowTime=Date()
        val nowDate=nowTimeDf.format(nowTime)
        var isNowDate=false
        if (dateStr==nowDate){
            isNowDate=true
        }
        val timeList= ArrayList<TimeRangeBean>()
        val day= fromStrToLongEnd(dateStr)
        val df=SimpleDateFormat("00:00")
        val format=SimpleDateFormat("HH:mm")

        val time=df.format(day)
        var date=df.parse(time)
       for (i in 0 until 48){
           val calendar=Calendar.getInstance()
           calendar.time=date
           calendar.add(Calendar.MINUTE,30)
           date = calendar.time
           val result=format.format(date)
           val nowTime= getNowTimeToLong(getNowTime())
           val allTime= getNowTimeToLong(result)
           var isEnable=false
           isEnable = if (isNowDate){
               nowTime<allTime
           }else{
               true
           }
           val timeSection= TimeRangeBean(result,isEnable)
           timeList.add(timeSection)
       }
        return timeList
    }
  //时间转为long
    fun getNowTimeToLong(nowTime:String):Long{
        val format=SimpleDateFormat("HH:mm")
        return format.parse(nowTime).time
    }

获取今天明天后天和周几的判断

object TimeToStr {
    /**
     * 用于显示时间
     */
    const val TODAY = "今天"
    const val YESTERDAY = "昨天"
    const val TOMORROW = "明天"
    const val BEFORE_YESTERDAY = "前天"
    const val AFTER_TOMORROW = "后天"

    /**
     * 获取对应时间戳转换的今天、明天。。。。的日期
     * @param time
     * @return
     */
    fun getToday(time: String): String {
        val pre = Calendar.getInstance()
        val predate = Date(System.currentTimeMillis())
        pre.time = predate
        val cal = Calendar.getInstance()
        var date: Date? = null
        try {
            date = Date(time.toLong())
        } catch (e: Exception) {
            e.printStackTrace()
        }
        cal.time = date
        if (cal[Calendar.YEAR] == pre[Calendar.YEAR]) {
            val diffDay = (cal[Calendar.DAY_OF_YEAR]
                    - pre[Calendar.DAY_OF_YEAR])
            return showDateDetail(diffDay, time)
        }
        return time
    }

    /**
     * 将日期差显示为今天、明天或者星期
     * @param diffDay
     * @param time
     * @return
     */
    private fun showDateDetail(diffDay: Int, time: String): String {
        return when (diffDay) {
            0 -> TODAY
            1 -> TOMORROW
            2 -> AFTER_TOMORROW
            -1 -> YESTERDAY
            -2 -> BEFORE_YESTERDAY
            else -> getWeek(time)
        }
    }

    /**
     * 计算周几
     */
    fun getWeek(data: String): String {
        val sdr = SimpleDateFormat("yyyy年MM月dd日HH时mm分ss秒")
        val lcc = java.lang.Long.valueOf(data)
        val i = data.toLong()
        val times = sdr.format(Date(i))
        var date: Date? = null
        var mydate = 0
        var week = ""
        try {
            date = sdr.parse(times)
            val cd = Calendar.getInstance()
            cd.time = date
            mydate = cd[Calendar.DAY_OF_WEEK]
            // &#x83B7;&#x53D6;&#x6307;&#x5B9A;&#x65E5;&#x671F;&#x8F6C;&#x6362;&#x6210;&#x661F;&#x671F;&#x51E0;
        } catch (e: ParseException) {
            e.printStackTrace()
        }
        if (mydate == 1) {
            week = "周天"
        } else if (mydate == 2) {
            week = "周一"
        } else if (mydate == 3) {
            week = "周二"
        } else if (mydate == 4) {
            week = "周三"
        } else if (mydate == 5) {
            week = "周四"
        } else if (mydate == 6) {
            week = "周五"
        } else if (mydate == 7) {
            week = "周六"
        }
        return week
    }
}

相关文章

  • 把24小时以半小时为刻度 划分成48个时间片段

    24小时分成48个碎片时间并且判断是否时间已经过去 获取今天明天后天和周几的判断

  • 医院随记

    1.医院的时间,以输液瓶为刻度。

  • 主题【如何更有效地管理你的时间】——读书5/100天打卡

    10月5ꫛꫀꪝ 昨晚写完读书打卡, 立马着手,写下一天以时间刻度的时间归划,比如6:30——7:30看书➕写读书打...

  • 最近看书的时间好像变少了

    之前有分享过,我每天的读书时间一般是1个小时,把这1个小时拆分成2个半小时,早起看半小时,午饭后看站立半小时的时间...

  • 5.8 工作心得

    之前学的大番茄吃着还不错,以半小时或者一小时为时间刻度,给自己一个恢复能量保持能量水平的时间,工作效果很好。 明天...

  • 巧合

    把日晷的刻度再次划细,去窥视放大,时间轴线的纹理 一些理想被埋入其中填上密码等待在某个节点彰显奇迹 所谓巧合或许都是刻意

  • 时间颗粒

    时间颗粒就是把时间等分成不同的额度,比如一天,一个小时,或者十分钟,时间刻度越小分的越细,工作效率越高,我现在就是...

  • 时间刻度值

    管理时间 把时间用刻度来划分, 番茄工作法是用来工作固定时间休息固定时间集中精力 而时间刻度值是学会怎么划分时间把...

  • 第81篇:个子高高的,但是内心还是个孩子

    女儿已经初中了,站起来个子比我高很多,她有时还会靠墙站着让我给她划身高刻度。 有时候没过两天就让我给她划个刻度看看...

  • 如何找到你做事的节奏感

    如何找到做事的节奏感,我把它拆分成4句话,叫做以年为战略节奏,以月为复盘节奏,以周为成长节奏,以天为执行节奏。 以...

网友评论

      本文标题:把24小时以半小时为刻度 划分成48个时间片段

      本文链接:https://www.haomeiwen.com/subject/oomvnrtx.html