永发信息网

如何使用C ++/ C ++11打印当前时间

答案:2  悬赏:50  手机版
解决时间 2021-02-12 01:23
如何使用C ++/ C ++11打印当前时间
最佳答案
1. 你提升的Posix的。
您boost::posix_time::microsec_clock::local_time()获得从微秒分辨率的时钟电流:
boost::posix_time::ptime now = boost::posix_time::microsec_clock::local_time();

然后你在当天的偏移量(因为你的时间输出表单::.,我假设他们被计算为当前日期的偏移,如果不是,可以自由的另一个起点,持续时间/间隔):
boost::posix_time::time_duration td = now.time_of_day();

然后你.hours(),.minutes(),.seconds()访问器来获取相应的值。
不幸的是 CodeGo.net,似乎没有成为一个.milliseconds()存取器,但是有一.total_milliseconds()之一,所以你可以做一个小减法运算得到的剩余毫秒的字符串进行格式化。
然后你sprintf()(或sprintf()_s如果你有兴趣在非便携的VC ++代码只),以这些字段格式化为原料char缓冲液,并安全地包装这个原始的C字符串缓冲区成方便std::string实例。
请参见下面的代码进一步的细节。
输出在控制台是这样的:
11:43:52.276
示例代码:
///////////////////////////////////////////////////////////////////////////////
#include // for sprintf()
#include // for console output
#include // for std::string
#include

//-----------------------------------------------------------------------------
// Format current time (calculated as an offset in current day) in this form:
//
// "hh:mm:ss.SSS" (where "SSS" are milliseconds)
//-----------------------------------------------------------------------------
std::string now_str()
{
// Get current time from the clock, using microseconds resolution
const boost::posix_time::ptime now =
boost::posix_time::microsec_clock::local_time();
// Get the time offset in current day
const boost::posix_time::time_duration td = now.time_of_day();
//
// Extract hours, minutes, seconds and milliseconds.
//
// Since there is no direct accessor ".milliseconds()",
// milliseconds are computed _by difference_ between total milliseconds
// (for which there is an accessor), and the hours/minutes/seconds
// values previously fetched.
//
const long hours = td.hours();
const long minutes = td.minutes();
const long seconds = td.seconds();
const long milliseconds = td.total_milliseconds() -
((hours * 3600 + minutes * 60 + seconds) * 1000);
//
// Format like this:
//
// hh:mm:ss.SSS
//
// e.g. 02:15:40:321
//
// ^ ^
// | |
// 123456789*12
// ---------10- --> 12 chars + \0 --> 13 chars should suffice
//
//
char buf[40];
sprintf(buf, "%02ld:%02ld:%02ld.%03ld",
hours, minutes, seconds, milliseconds);
return buf;
}
int main()
{
std::cout << now_str() << '\n';
}
///////////////////////////////////////////////////////////////////////////////
全部回答
虽然我很聪明,但这么说真的难到我了
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
暖暖毛线店在哪里啊,我有事要去这个地方
请问,杭州武林门到上海虹桥机场的机场大巴,
某同学在学习中国古代某一阶段历史的过程中找
形容内蒙古高原的词语
七师一三一团医院-内科楼这个地址在什么地方
现在用叉叉助手玩部落冲突会封号吗
栖园宾馆(天津武清)地址有知道的么?有点事想
龙之谷里那对情人节任务的情侣NPC在哪里?
满洲里市附属中学怎么样
有谁知道广西县道路线编号:X568是哪里,路线名
马超除了与许褚、张飞两大猛将斗过外。还与谁
临汾市有多少所私立高中,都是哪些?? 知道的帮
百老泉酒店(天津武清)地址有知道的么?有点事
长沙市公安局交警支队车管所泰禹机动车登记服
求x→0时lim(x-tanx)/x^3的极限
推荐资讯
塔阳村这个地址在什么地方,我要处理点事
普泰堂大药房地址在哪,我要去那里办事
辅民屯村怎么去啊,有知道地址的么
微美工作室我想知道这个在什么地方
华乐星苑酒店公寓地址在哪,我要去那里办事
梦见死去的叔叔又活过来了,还拥抱了他
我家狗狗从天气开始冷了就不吃饭和狗粮,肉和
window7s副本不是正版怎么办
魅蓝note2 sim卡应用在哪
眼镜框对镜片度数有限制吗?
甲水地址在哪,我要去那里办事
柳城县烟草专卖局办证厅地址在什么地方,想过
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?