zoukankan      html  css  js  c++  java
  • 如何将一段时间均分为四段

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

    当时面试官问我:一段时间,就假如是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"
    

    执行结果

  • 相关阅读:
    Spring 实例化bean的三种方式
    Mybatis和Hibernate比较
    MyBatis学习总结(一)——MyBatis快速入门
    Java EE的十三个规范
    Python 测试代码覆盖率统计工具 coverage.py
    mysql explain执行计划详解
    Django模型的Field Types
    使程序在Linux下后台运行,程序运行前后台切换
    ubuntu中将本地文件上传到服务器
    Python-内置函数小结
  • 原文地址:https://www.cnblogs.com/CharrammaBlog/p/14708306.html
Copyright © 2011-2022 走看看