小编Dhi*_*eve的帖子

令人困惑的mktime()函数行为:将tm_hour计数增加1

我正在执行下面的代码.

int main()
{
struct tm storage={0,0,0,0,0,0,0,0,0};
char *p = NULL; 
p = (char *)strptime("2012-08-25 12:23:12","%Y-%m-%d %H:%M:%S",&storage);
char buff[1024]={0};
strftime(buff,1024,"%Y-%m-%d %H:%M:%S",&storage);
cout << buff << endl;
storage.tm_sec += 20;
strftime(buff,1024,"%Y-%m-%d %H:%M:%S",&storage);
cout << buff << endl;
mktime(&storage);
strftime(buff,1024,"%Y-%m-%d %H:%M:%S",&storage);
cout << buff << endl;
return 0;
}
Run Code Online (Sandbox Code Playgroud)

如果以上程序执行,则打印'2012-08-25 13:23:32'而不是'2012-08-25 12:23:32'.请帮助,为什么它增加了tm_hour值.如果我在程序中输入日期为"2012-02-25 12:23:32",这可以正常工作,这很令人困惑.

输出 - >

[user@rtpkvm55-vm2 root]$ ./a.out
2012-08-25 12:23:12
2012-08-25 12:23:32
2012-08-25 13:23:32
[user@rtpkvm55-vm2 root]$
Run Code Online (Sandbox Code Playgroud)

我系统上的日期信息, - >

[user@rtpkvm55-vm2 root]$ date
Sat Aug 25 08:28:26 EDT 2012
Run Code Online (Sandbox Code Playgroud)

c++ mktime dst

12
推荐指数
2
解决办法
8206
查看次数

什么是“TCP 乱序”和“TCP 端口号重用”问题?

我正在从 IP_ADDR1 向 IP_ADDR2 发送 HTTP 请求。我观察到 HTTP 请求没有达到应用程序级别。当我获取wireshark日志时,我注意到TCP级别的一些问题。这些问题是什么?什么时候发生这种情况?如何摆脱这个?在此处附加 Wireshark 快照。

networking network-protocols wireshark

6
推荐指数
1
解决办法
5万
查看次数

标签 统计

c++ ×1

dst ×1

mktime ×1

network-protocols ×1

networking ×1

wireshark ×1