計算時間間隔

2021-10-19 02:46:26 字數 1321 閱讀 8872

題目描述

讀入兩個用「時:分:秒」表示的時間點,計算以秒為單位的時間間隔。

輸入輸入有兩行,每行是乙個用「時:分:秒」表示的時間點。測試資料保證第二個時間點晚於第乙個時間點。

輸出輸出乙個整數,表示時間間隔的秒數。

樣例輸入

08:00

:0009:

00:00

樣例輸出

3600
解題思路:直接兩個時間的時分秒相減乘以相應的倍數即可

比如08:55:56和09:02:03

時:(9-8)*3600=3600

分:(2-56)*60=-3240

秒:3-56=-53

相加:3600-3240-53=307

總的來說,如果說小時級別相差兩個小時,那必定可以湊出乙個整的小時來,如果相差三個小時,那至少可以湊出兩個整的小時,剩下乙個小時可能是完整的(給的資料比如是08:00:00到11:00:00)也有可能不是完整的,現在假設是完整的3600秒,然後再將分鐘和秒按照大小各自排列,他們的整數差就是這湊出來的乙個小時中實際上並沒有度過的,需要減去,結果就是時間差。

比如:08:26:38和10:11:45

10-8=2,小時級別為2,則就按兩個小時算2*3600=7200秒

我們可以看到,雖然小時級別為2,但是我們只能湊出乙個完整的小時來,08:26:38到09:26:38是完整的乙個小時,但是從09:26:38到10:11:45是不夠乙個小時的,但是小時級別我們的差是2,現在假設是完整的兩個小時,那麼完整的第二個小時應該是從09:26:38到10:26:38,然後找到中間實際上沒有度過的時間減掉即可

本來實驗資料是到10:11:45,但是我們假設的是兩個完整的小時,時間上10:11:45到10:26:38這一段時間是假的,所以要減去,

所以分鐘級別是:(11-26)*60= -900

這樣我們把分鐘的假時間減掉以後,就剩下秒了。是10:26:45到10:26:38的秒差

然後是秒級別:38到45是有7秒的假時間

38-45=-7

所以時間差為:7200-900-7=6293

上**:

#include

#include

intmain()

思路上是用了先補齊,然後再減去的思想

其他人有用直接算出兩個時間從00:00:00開始經過的秒數相減,這樣的思路比較簡單

#include

//簡單題就不用陣列了

#include

intmain()

計算時間間隔

time t 獲得時間只能精確到 秒,clock t 獲得時間能夠精確到毫秒 include clock t start,ends start clock system pause ends clock cout code highlighting produced by actipro codeh...

C 時間間隔計算

c 時間比較 c 時間間隔計算 c 事件比較直接可以用減法,即timespan ts1 datetime.now datetime.now.adddays 1 它返回的是乙個時間間隔。它有如下屬性 days 獲取當前 timespan 結構所表示的時間間隔的天數部分。hours 獲取當前 times...

VB計算時間間隔

datediff interval,date1,date2 firstdayofweek firstweekofyear 引數含義 interval 必要。字串表示式,表示用來計算date1 和 date2 的時間差的時間間隔 date1 date2 必要 variant date 計算中要用到的兩...