问题 G: 零基础学C/C++17——求2个时间之间的分钟数

题目描述

输入2个时间,求2个时间之间的分钟数(不包括自身),为了简单之见假设这2个时间在同一天且前面的时间较小

输入

输入2行,分别是2个时间,时间小时与分钟之间用:隔开

输出

输出之间的分钟数

样例输入 

12:12
12:16

样例输出 

3
#include<bits/stdc++.h>
using namespace std;
int main()
{
	int hour1,hour2,minute1,minute2,minute;
	scanf("%d:%d",&hour1,&minute1);
	scanf("%d:%d",&hour2,&minute2);
	minute=(hour2-hour1)*60+(minute2-minute1)-1;
	cout<<minute;
	return 0;
} 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是C++代码实现: ```c++ #include <iostream> #include <chrono> int main() { // 获取当前时间 auto now = std::chrono::system_clock::now(); std::time_t now_time = std::chrono::system_clock::to_time_t(now); std::tm* now_tm = std::localtime(&now_time); // 计算下一个10的倍分钟时间 int next_minute = (now_tm->tm_min / 10 + 1) * 10; if (next_minute == 60) { next_minute = 0; now_tm->tm_hour += 1; } now_tm->tm_min = next_minute; now_tm->tm_sec = 0; auto next_time = std::chrono::system_clock::from_time_t(std::mktime(now_tm)); // 计算时间差 auto diff_seconds = std::chrono::duration_cast<std::chrono::seconds>(next_time - now).count(); // 输出结果 std::cout << "距离下一个10的倍分钟时间还有 " << diff_seconds << " 秒" << std::endl; return 0; } ``` 代码解释: 1. 使用 `std::chrono::system_clock::now()` 获取当前时间; 2. 将当前时间转换为 `std::time_t` 类型,并使用 `std::localtime()` 转换为本地时间; 3. 计算下一个10的倍分钟时间,如果超过了59分钟,则小时加1; 4. 将计算得到的时间转换为 `std::chrono::time_point` 类型; 5. 使用 `std::chrono::duration_cast()` 计算时间差,并使用 `count()` 函获取时间差的秒; 6. 输出结果。 注意:这里的时间是以本地时间为准,如果需要使用其他时区的时间,可以使用 `std::chrono::system_clock::from_time_t()` 和 `std::chrono::system_clock::to_time_t()` 进行转换。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值