class timezone:publiccopyable
;
感覺有點看不懂,detail內部實現檔案類不明白跟時區有什麼關係.
timezone類主要是完成各個時區之間的轉換,感覺自己用不到,乙個時區就夠了.
內部成員變數就乙個,是個data結構體的共享智慧型指標
提供了3個建構函式,
timezone(const char* zonefile)
建構函式,建構函式是explicit的,內建指標不能隱式的轉換,只能使用初始化的形式
timezone(int eastofutc, const char* tzname);
eastofutc表示utc時間。中國內地的時間與utc的時差為+8,也就是utc+8
這裡根據源**,eastofutc 應該是秒數
timezone() = default
預設建構函式
private: std::shared_ptr
m_data;
這個data是自定義的結構體,裡面主要是一些timezone相關的資訊,我沒怎麼看懂,暫時留個坑,不過感覺也
用不到多個時區。
public:
explicit timezone(const
char*zonefile);
timezone(
int eastofutc,const
char*tzname);
timezone()=default
;
bool valid() const
//utc時間轉換成當地時間
struct tm tolocaltime(time_t sec) const
;
//當地時間轉換成utc時間
time_t fromlocaltime(const
struct tm&) const
;
//當地時間轉換成utc時間
static
struct tm toutctime(time_t sec,bool yday=false
);
//utc時間轉換成當地時間
static time_t fromutctime(const
struct tm&);
//static time_t fromutctime(int year,int month,int
day,
int hour,int min,int sec);
muduo原始碼解析之EventLoopThread
回到tcpserver,我們記得裡面有乙個eventloopthreadpool,根據名字,這是乙個執行緒池,它主要用於管理所有的eventloop,每個eventloop對應乙個執行緒。當新連線到來時,acceptor事件分發器將連線分發到合適的執行緒中。執行緒裡面核心是執行eventloop類裡...
muduo原始碼解析1 timestamp類
class timestamp public mymuduo copyable,public boost equality comparable,public boost less than comparable 主要是實現了時間戳的相關操作,例如時間戳的格式化,返回當前時間戳等等。private ...
muduo原始碼解析21 Socket類
封裝了乙個套接字sokcet類,內部只儲存乙個套接字檔案描述符m sockfd 提供了常用的套接字相關的操作,例如 繫結套接字,監聽,接受乙個連線,關閉寫操作,獲取tcp資訊,設定套接字為no delay模式,設定位址重用,埠重用,設定keepalive private 套接字檔案描述符,用cons...