- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有这段代码在法兰克福的一台机器上执行:
//hardcoding for simplicity but these get passed
int year = 2016;
int month = 05;
int day = 6;
boost::gregorian::date gdToday (boost::gregorian::day_clock::local_day());
LOG(DEBUG, 0) << " today=" << gdToday;
if (boost::gregorian::date(year, month, day) > gdToday)
{
// log
return;
}
在我的日志中,我看到了这个:2016-05-06 02:40:40.479057 |调试 | 今天=2016 年 5 月 5 日
我知道日志时间戳是 UTC。我假设 day_clock::local_day() 给我 CEST 时间。
所以 2016-05-06 02:40 UTC 将是 2016-05-06 04:40。但为什么 gdToday 仍然给我 2016-May-05?因此,if 比较失败。
我试图阅读 boost 文档,但仍然没有太多线索。难道是 boost::gregorian::date::operator<<.我也不认为使用 day_clock::universal_day() 会有任何用处。
有什么提示或想法吗?谢谢!!
最佳答案
很有趣。当然,如果不知道有效的语言环境和时区,我们就看不到任何东西。您的假设不成立。
冒险,因为您没有实际上展示您如何在日志中显示local_day
,我可以推断您不小心将日期硬编码到一个格式化程序而不是使用一个惰性 actor(所有 boost 格式化程序都是在日志消息格式化时被调用的惰性 actor)。
这意味着它从一开始就不会进行到第二天,除非您的格式被重新初始化(例如流程重启)。
关于c++ - boost day_clock::local_day() 难题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37081095/
我有这段代码在法兰克福的一台机器上执行: //hardcoding for simplicity but these get passed int year = 2016; i
我是一名优秀的程序员,十分优秀!