muduo网络库——Timestamp

这个类主要是获取当前时间,以及把当前时间转换为字符串打印出来。

Timestamp.h

#pragma once
#include <iostream>

class Timestamp
{
   
public:
    Timestamp();
    explicit Timestamp(int64_t microSecondsSinceEpoch);
    //获取当前时间
    static Timestamp now();
    //int64 转换为字符串
    std::string toString() const;
private:
    int64_t microSecondsSinceEpoch_;
};

Timestamp.cc

#include "Timestamp.h"

#include <ctime>

Timestamp::Timestamp():microSecondsSinceEpoch_(0){
   }

Timestamp::Timestamp(int64_t microSecondsSinceEpoch)
    :microSecondsSinceEpoch_(microSecondsSinceEpoch)
    {
   }

//获取当前时间
Timestamp Timestamp::now()
{
   
    return Timestamp(time(NULL));
}
//int64 转换为字符串并打印信息
std::string Timestamp::toString() const
{
   
    char buf[128] = {
   0};
    /* tm是个数据结构 *struct tm { int tm_sec; // seconds after the minute - [0, 60] including leap second int tm_min; // minutes after the hour - [0, 59] int tm_hour; // hours since midnight - [0, 23] int tm_mday; // day of the month - [1, 31] int tm_mon; // months since January - [0, 11] int tm_year; // years since 1900 int tm_wday; // days since Sunday - [0, 6] int tm_yday; // days since January 1 - [0, 365] int tm_isdst; // daylight savings time flag }; */
    tm* tm_time = localtime(&microSecondsSinceEpoch_);

    //打印年月日,因为年从1900开始,月从0开始
    snprintf(buf,128,"%4d/%02d/%02d %02d:%02d:%02d",
    tm_time->tm_year + 1900,
    tm_time->tm_mon + 1,
    tm_time->tm_mday,
    tm_time->tm_hour,
    tm_time->tm_min,
    tm_time->tm_sec);

    return buf;
}

参考文献

[1] 施磊.重写moduo库.图论科技.2020.7.
全部评论

相关推荐

白火同学:1、简历可以浓缩成一页,简历简历先要“简”方便HR快速过滤出有效信息,再要“历”用有效信息突出个人的含金量。 2、教育背景少了入学时间~毕业时间,HR判断不出你是否为应届生。 3、如果你的平台账号效果还不错,可以把账号超链接或者用户名贴到对应位置,一是方便HR知道你是具体做了什么内容的运营,看到账号一目了然,二是口说无凭,账号为证,这更有说服力。
面试被问期望薪资时该如何...
点赞 评论 收藏
分享
评论
1
1
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务