当前位置: 首页 > news >正文

字符串格式时间(HH-MM)添加间隔时间后转为HH-MM输出

转换时间代码如下所示

#include <iostream>
#include <iomanip>
#include <sstream>//添加时间转换为时间
std::string addMinutesToTime(const std::string& timeStr, int minutesToAdd) {int hours, minutes;char delimiter;//解析输入时间std::istringstream iss(timeStr);if (!(iss >> std::setw(2) >> hours >> delimiter >> std::setw(2) >> minutes) || delimiter != '-'){throw std::invalid_argument("错误的时间格式,请输入HH-MM格式");}//将时间间隔加到分钟上minutes += minutesToAdd;hours += minutes / 60;hours %=  24;		//24小时取余minutes %= 60;	    //60分钟取余//格式化输出时间std::ostringstream oss;oss << std::setw(2) << std::setfill('0') << hours << "-"<< std::setw(2) << std::setfill('0') << minutes;return oss.str();
}int main()
{std::string time = "17-44";try {time = addMinutesToTime(time, 10);std::cout << "转换后的时间是" << time << std::endl;}catch (const std::invalid_argument& e) {std::cerr << "Error:" << e.what() << std::endl;}return 0;
}

程序输出:

边界测试,错误的输入格式:
输入时间为std::string time = "1744";
程序输出如下:


边界测试超过24小时:

程序输出如下:

边界测试通过。

http://www.lryc.cn/news/514882.html

相关文章:

  • SQL 基础教程 - SQL ORDER BY 关键字
  • STM32 软件I2C读写
  • neo4j学习笔记
  • 【动手学电机驱动】STM32-MBD(2)将 Simulink 模型部署到 STM32G431 开发板
  • Nginx代理本地exe服务http为https
  • C++: glibc: pthread: pthread_cond_destroy,程序hang一例
  • 【中间件】docker+kafka单节点部署---zookeeper模式
  • 深入Android架构(从线程到AIDL)_08 认识Android的主线程
  • 集线器,交换机,路由器,mac地址和ip地址知识记录总结
  • 【VUE】使用create-vue快速创建一个vue + vite +vue-route 等其他查看的工程
  • Jetpack Compose 学习笔记(一)—— 快速上手
  • Kafka3.x KRaft 模式 (没有zookeeper) 常用命令
  • Leetcode 最大正方形
  • ubuntu22.04录屏黑屏,飞书共享屏幕黑屏问题
  • 沙箱模拟支付宝支付3--支付的实现
  • Golang的代码质量分析工具
  • 【Linux】:多线程(读写锁 自旋锁)
  • Java开发 PDF文件生成方案
  • 数学期望和方差
  • 【面试AI算法题中的知识点】方向涉及:ML/DL/CV/NLP/大数据...本篇介绍Tensor RT 的优化流程。
  • BLDC无感控制的驱动逻辑
  • BP神经网络的反向传播算法
  • [实用指南]如何将视频从iPhone传输到iPad
  • Linux Snipaste 截图闪屏/闪烁
  • 【YOLOv5】源码(common.py)
  • Node 如何生成 RSA 公钥私钥对
  • 瑞_Linux中部署配置Java服务并设置开机自启动
  • javaEE-多线程进阶-JUC的常见类
  • Flume拦截器的实现
  • Swift Combine 学习(四):操作符 Operator