鍍金池/ 問答/C  C++/ C++ 有什么函數(shù)可以自定義進(jìn)制和進(jìn)位嗎?

C++ 有什么函數(shù)可以自定義進(jìn)制和進(jìn)位嗎?

比如我想算一個(gè)時(shí)間差,格式為 day:hour:minute

1號1點(diǎn)40分 1:01:40
2號:0點(diǎn)0分 2:00:00

minute為60進(jìn)制,hour是它的進(jìn)制,以此類推

有什么函數(shù)可以自定義進(jìn)制并設(shè)置進(jìn)位嗎?

回答
編輯回答
只愛你

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; 
} 
2017年9月27日 14:22
編輯回答
哎呦喂

time_t是定義在time.h中的一個(gè)類型,表示一個(gè)日歷時(shí)間,也就是從1970年1月1日0時(shí)0分0秒到此時(shí)的秒數(shù),原型是:
typedef long time_t; / time value /
可以看出time_t其實(shí)是一個(gè)長整型,由于長整型能表示的數(shù)值有限,因此它能表示的最遲時(shí)間是2038年1月18日19時(shí)14分07秒。
函數(shù)time可以獲取當(dāng)前日歷時(shí)間時(shí)間,time的定義:
time_t time(time_t *)

2017年8月15日 21:34
編輯回答
命多硬

可以#include <ctime>,使用time_t類型及其相關(guān)的函數(shù),不過這東西很老了。
舉例:http://blog.csdn.net/tigerda/...

也可以使用C++11的,#include <chrono>
舉例:http://blog.csdn.net/u0111359...

2017年12月11日 18:06