• 如何将一段时间均分为四段


    刚才不知道为什么突然就想起来去年面试一家公司的时候一道没答上来的面试题的解法。

    当时面试官问我:一段时间,就假如是12:30:54到14:50:36,写一个shell脚本,将这段时间均匀的分为四段。我因为在面试的时候面试官问了我很多问题都没答上来,确实状态已经不是很好了,当时没有思路,后来忙其他事去了,就把这个抛在一边,于是就给忘了。今天突然想起这道没解出来的题的做法。
    思路是这样的:先将开始时间和结束时间转换为便于计算的时间戳,然后求出均分后每小段时间范围,从而得出每小段时间端点的时间戳,再将时间戳转换为标准时间格式即可
    脚本如下:

    #!/bin/bash
    
    # 开始时间和结束时间,前面的日期随便写
    start_time=`date -d "2021-04-27 12:30:54" +%s`
    end_time=`date -d "2021-04-27 14:50:36" +%s`
    
    # 求出每小段时间的范围
    time_range=$(expr `expr $end_time - $start_time` / 4)
    
    # 求出端点的时间戳
    time_two_stamp=`expr $start_time + $time_range`
    time_three_stamp=$(expr $start_time + `expr $end_range * 2`)
    time_four_stamp=`expr $end_time - $time_range`
    
    # 将时间戳转换日期格式
    time_two=`date -d @$time_two_stamp "+%H:%M:%S"`
    time_three=`date -d @$time_three_stamp "+%H:%M:%S"`
    time_four=`date -d @$time_four_stamp "+%H:%M:%S"`
    
    echo "将12:30:54-14:50:36均分为4段"
    echo "第一段为12:30:54-${time_two}"
    echo "第二段为${time_two}-${time_three}"
    echo "第三段为${time_three}-${time_four}"
    echo "第四段为${time_four}-14:50:36"
    

    执行结果

  • 相关阅读:
    P1962 斐波那契数列(矩阵加速DP)
    P1939 【模板】矩阵加速(数列)
    剑指04.重建二叉树
    剑指03.从尾到头打印链表
    剑指02.替换空格
    剑指01.二维数组中的查找
    Python绘图学习笔记(待完善)
    时间观念 目标观念
    购房交税
    可以不做会计,但是不能不懂会计
  • 原文地址:https://www.cnblogs.com/CharrammaBlog/p/14708306.html
Copyright © 2020-2023  润新知