如何对long型的数据转换成时间类型,并且能够判断加入一个时间后是否大于24点

remain5000 2009-06-01 01:50:30
1)将long型数据234000转换成时间234000(就是23点40分零秒)
2)然后加上半小时(1800秒)
3)最后判断是否大于24点
...全文
284 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
YaYiYaO 2009-06-01
  • 打赏
  • 举报
回复
不是很明白你的意思,
是否说
Hour = 234000 / 10000 = 23
Minute = 234000 / 100 % 100 = 40
Second = 234000 % 100 = 0
这样呢

大于24点就直接判是否大于240000
「已注销」 2009-06-01
  • 打赏
  • 举报
回复
使用API:LocalTime可能更简便些。
Sou2012 2009-06-01
  • 打赏
  • 举报
回复
up!!!
T技术沙龙 2009-06-01
  • 打赏
  • 举报
回复
//呵呵,单靠输出就搞定……
#include"iostream"
#include"cstdlib"
#include"cmath"
using namespace std;

int main()
{
long data,add_data;
int i,temp;
cout<<"please enter the data"<<endl;
cin>>data;
/***************************************************/
//将非法输入排除
if(data<0||data>=240000)
{
cout<<"Illegal value for data"<<endl;
exit(1);
}
/***************************************************/
//将long型数据转换成时间
for(i=5;i>=0;i--)
{
temp=data/static_cast<int>(pow(10,i))%10;
cout<<temp;
if(i==4||i==2)
cout<<":";
}
cout<<endl;
/***************************************************/
//加上半小时
add_data=data+7000;
/***************************************************/
//判断是否大于24点
cout<<"Is add_data bigger than 24 ?"<<endl;
if(add_data>240000)
cout<<"True";
else cout<<"False";
cout<<endl;
return 0;
}
remain5000 2009-06-01
  • 打赏
  • 举报
回复
楼上兄弟,你貌似乱来了。呵呵,不过还是谢谢!
rivulettornado 2009-06-01
  • 打赏
  • 举报
回复
234000 % 100 = 0;就是0秒
234000 / 100 = 2340;
2340 % 100 = 40;就是40分
2340 /100 = 23;就是小时

23 + 40.0/60 = 23.667;
23.667 + 0.5 >24;

65,210

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧