文章目录

  • Question
  • Ideas
  • Code

Question

小 h 前往美国参加了蓝桥杯国际赛。

小 h 的女朋友发现小 h 上午十点出发,上午十二点到达美国,于是感叹到“现在飞机飞得真快,两小时就能到美国了”。

小 h 对超音速飞行感到十分恐惧。

仔细观察后发现飞机的起降时间都是当地时间。

由于北京和美国东部有 12 小时时差,故飞机总共需要 14 小时的飞行时间。

不久后小 h 的女朋友去中东交换。

小 h 并不知道中东与北京的时差。

但是小 h 得到了女朋友来回航班的起降时间。

小 h 想知道女朋友的航班飞行时间是多少。

对于一个可能跨时区的航班,给定来回程的起降时间。

假设飞机来回飞行时间相同,求飞机的飞行时间。

输入格式
一个输入包含多组数据。

输入第一行为一个正整数 T,表示输入数据组数。

每组数据包含两行,第一行为去程的起降时间,第二行为回程的起降时间。

起降时间的格式如下:

h1:m1:s1 h2:m2:s2
h1:m1:s1 h3:m3:s3 (+1)
h1:m1:s1 h4:m4:s4 (+2)
第一种格式表示该航班在当地时间h1时m1分s1秒起飞,在当地时间当日h2时m2分s2秒降落。

第二种格式表示该航班在当地时间h1时m1分s1秒起飞,在当地时间次日h2时m2分s2秒降落。

第三种格式表示该航班在当地时间h1时m1分s1秒起飞,在当地时间第三日h2时m2分s2秒降落。

输出格式
对于每一组数据输出一行一个时间hh:mm:ss,表示飞行时间为hh小时mm分ss秒。

注意,当时间为一位数时,要补齐前导零,如三小时四分五秒应写为03:04:05。

数据范围
保证输入时间合法(0≤h≤23,0≤m,s≤59),飞行时间不超过24小时。

输入样例:
3
17:48:19 21:57:24
11:05:18 15:14:23
17:21:07 00:31:46 (+1)
23:02:41 16:13:20 (+1)
10:19:19 20:41:24
22:19:04 16:41:09 (+1)
输出样例:
04:09:05
12:10:39
14:22:05

Ideas

读取去的起降时间和回的起降时间,计算时间差,求和/2就是航班时间
计算时间差时,将时间统一转换为距离当天00:00:00的秒数,然后将秒数转成hh:mm:ss

Code

# 读取去的起降时间和回的起降时间,计算时间差,求和/2就是航班时间
# 计算时间差时,将时间统一转换为距离当天00:00:00的秒数,然后将秒数转成hh:mm:ss
n = int(input())def get_time(start,end,delta):# 获取对应的小时、分钟、秒sh,sm,ss = list(map(int,start.split(':')))eh,em,es = list(map(int,end.split(':')))return  eh*3600+em*60+es - (sh*3600+sm*60+ss) + delta*24*3600for i in range(n):go = input()back = input()# 处理所有时间,如果后面没有(),即没有跨天的话加上(0)if go[-1] != ')':go += ' (0)'if back[-1] != ')':back += ' (0)'go_start, go_end,go_dlta = go.strip().split() # dlta 时间差back_start,back_end,back_dlta = back.strip().split()# print(go_start,go_end,dlta.strip('(+)'))# 获取时间差秒数delta = (get_time(go_start,go_end,int(go_dlta.strip('()'))) + get_time(back_start,back_end,int(back_dlta.strip('()')))) >> 1# 格式化输出hour =  delta // 3600minute = delta % 3600 // 60second = delta % 3600 % 60print('{:02}:{:02}:{:02}'.format(hour,minute,second))

航班时间(计算时间差)相关推荐

  1. 关于js中的时间——计算时间差等

    获取当前(系统)时间: var NowDate= new Date(); // 获取当前日期时间 // 输出为: Wed May 03 2017 14:52:08 GMT+0800 (中国标准时间) ...

  2. sql两个时间计算时间差_Java 8时间类,越用越香

    为什么会在Jdk8中加入很多时间类 非线程安全 java.util.Date 是非线程安全的,所有的日期类都是可变的,这是Java日期类最大的问题之一. Date date = new Date(); ...

  3. c/c++在windows下获取时间和计算时间差的几种方法总结

    一.标准C和C++都可用 1.获取时间用time_t time( time_t * timer ),计算时间差使用double difftime( time_t timer1, time_t time ...

  4. python时间差怎么转换为数字_pandas进行时间数据的转换和计算时间差并提取年月日...

    #pd.to_datetime函数 #读取数据 import pandas as pd data = pd.read_csv('police.csv') #将stop_date转化为datetime的 ...

  5. Oracle中计算两个时间的时间差:

    计算时间差是oracledata数据类型的一个常见问题.oracle支持日期计算,你可以创建诸如"日期1-日期2"这样的表达式来计算这两个日期之间的时间差.一旦你发现了时间差异,你 ...

  6. 计算时间差_小王子是怎么用四步法进行时间计算并成功避开日界线的

    特别申明:本文为原创,转载请注明来源 试题引入: 法国作家圣埃克絮佩里的<小王子>当中有如下一段对话.据此回答10-11题. 小王子:"我喜欢看日落.我们去看一回日落吧--&qu ...

  7. linux c计算时间差值,获取时间和计算时间差的几种方法总结,时间差几种方法...

    获取时间和计算时间差的几种方法总结,时间差几种方法 一.标准C和C++都可用 1.获取时间用time_t time( time_t * timer ),计算时间差使用double difftime( ...

  8. php中跟时间有关的处理(时区设置,计算时间差,获取系统当前时间)

    1.修改时区 背景 :保存到Navicat中的时间和本地系统时间相差8小时 原因:在app/config下的app.php中有一行 ['timezone' => 'UTC',} 规定的是时区默认 ...

  9. Excel计算将时间字符串转换为时间格式 年-月-日 时:分:秒 且计算时间差得到 时分秒 格式

    Excel计算时间差时分秒 今天数据导出处理的时候碰见一个时间格式问题如下: 这个日期数据从数据库里导出来就是字符串了,由于取出来的还有一些很长的编码形式的字段怕被隐没,所以将数据粘贴之前我将exce ...

  10. go 计算两个时间的时间差

    计算与当前时间的时间差: time1 := time.Now() // 假设是我们的某个时间点 time.Since(time1)).Seconds() // 返回time1与当前时间的秒级差值 计算 ...

最新文章

  1. JZOJ 5956. 【NOIP2018模拟11.7A组】easy LCA
  2. 拜年+红包,都有份儿!
  3. 李想当年是被赶出汽车之家?真相了...
  4. kext updater使用方法_语言清晰度测量方法的前世今生
  5. 协议:Modbus通讯协议详细
  6. acrobat dc和9 pro哪个好_荣耀Play4 Pro和荣耀V30有什么区别?选哪个?
  7. 「面试必背」Linux面试题(2022最新版)
  8. 佳能Canon imageCLASS MF236n 一体机驱动
  9. 黑苹果 ACPI Error:method parse/execut failed SB.AC.ADJP
  10. mac上如何安装夜神模拟器
  11. FPGA--IP核之FIFO
  12. BI数据分析师究竟是做什么的?
  13. 假设检验的基本原理和T检验
  14. 如何在自己的应用中打开支付宝客户端
  15. 【硬见小百科】SMT工艺,是什么影响锡膏印刷的质量
  16. python利用selenium和safari浏览器驱动实现新浪微博自动点赞 Demo
  17. 绘画板 java_非常值得学习的java 绘图板源代码
  18. 使用poi把excel分割为多个excel
  19. RedisClient 安装
  20. LeetCode高频题76. 最小覆盖子串:欠账还债还款问题,子串考虑i开头的情况所有答案更新一波

热门文章

  1. emule服务器有响应,eMule刚连上服务器就断请教为什么
  2. 【PaddlePaddle论文复现】U-GAT-IT: 基于GAN的新型无监督图像转换
  3. 一种通用的Qt数据库接口操作方法
  4. linux rm rf 无法删除文件夹,linux下的文件用root用户rm -rf命令无法删除解决方案
  5. 如何解决chrome浏览器地址栏变黑色(chrome搜索栏变黑)(mac电脑)
  6. 上门洗车APP --- Android客户端开发 之 网络框架封装介绍(二)
  7. 算法 图8 How Long Does It Take
  8. CSS峰会圆桌论道丨共享产业数字化升级中的安全探索
  9. GPU 编程与CG 语言之阳春白雪下里巴人——CG学习读书笔记之数学函数(之二)。
  10. 不积跬步,无以至千里 small tips