比如我想算一个时间差,格式为 day:hour:minute
1号1点40分 1:01:40
2号:0点0分 2:00:00
minute为60进制,hour是它的进制,以此类推
有什么函数可以自定义进制并设置进位吗?
比如我想算一个时间差,格式为 day:hour:minute
1号1点40分 1:01:40
2号:0点0分 2:00:00
minute为60进制,hour是它的进制,以此类推
有什么函数可以自定义进制并设置进位吗?
time_t是定义在time.h中的一个类型,表示一个日历时间,也就是从1970年1月1日0时0分0秒到此时的秒数,原型是:
typedef long time_t; / time value /
可以看出time_t其实是一个长整型,由于长整型能表示的数值有限,因此它能表示的最迟时间是2038年1月18日19时14分07秒。
函数time可以获取当前日历时间时间,time的定义:
time_t time(time_t *)
boost的datetime类可以满足你的要求。
#include <boost/date_time/posix_time/posix_time.hpp>
#include <iostream>
int main()
{
boost::posix_time::ptime pt1(boost::gregorian::date(2009, 1, 05), boost::posix_time::time_duration(12, 0, 0));
boost::posix_time::ptime pt2(boost::gregorian::date(2009, 1, 05), boost::posix_time::time_duration(18, 30, 0));
boost::posix_time::time_duration td = pt2 - pt1;
std::cout << td.hours() << std::endl;
std::cout << td.minutes() << std::endl;
std::cout << td.seconds() << std::endl;
}
3 回答2k 阅读✓ 已解决
2 回答3.9k 阅读✓ 已解决
2 回答3.2k 阅读✓ 已解决
1 回答3.2k 阅读✓ 已解决
1 回答2.7k 阅读✓ 已解决
3 回答3.5k 阅读
3 回答476 阅读✓ 已解决
可以
#include <ctime>
,使用time_t
类型及其相关的函数,不过这东西很老了。举例:http://blog.csdn.net/tigerda/...
也可以使用C++11的,
#include <chrono>
举例:http://blog.csdn.net/u0111359...