草庐IT

put_time

全部标签

c++ - 如何用纪元前的 time_t 计算 C++ 中的时间差?

我想用我的简单程序做的是计算两个日期之间的秒数差。time_treferenceDate;time_tdateNow=time(0);structtmreferenceDateComponent={0};referenceDateComponent.tm_hour=0;referenceDateComponent.tm_min=0;referenceDateComponent.tm_sec=0;referenceDateComponent.tm_year=89;referenceDateComponent.tm_mon=11;referenceDateComponent.tm_mday

c++ - 使用 chrono::time_point 获取当前小时数和分钟数

我一直试图找到一个使用std::chrono的示例,它只获取一个chrono::time_point并将小时数和分钟数提取为整数。我有:std::chrono::system_clock::time_pointnow=std::chrono::system_clock::now();但我不知道如何提取小时和分钟(从午夜开始)?我正在寻找类似的东西:inthours=now.clock.hours(); 最佳答案 这是免费的,open-sourcedatelibrary这将为你做这件事。如果您想确切了解它是如何完成的,请随时检查代码。

c++ - 如何从 boost::posix_time::ptime 获取自纪元时间以来的毫秒数

我看过一些otheranswersonSO这表明我们可以通过从“其他”时间中减去纪元时间来获得以毫秒为单位的纪元时间,但是当我尝试时它不起作用:ptimeepoch=time_from_string("1970-01-0100:00:00.000");ptimeother=time_from_string("2011-08-0917:27:00.000");longdiff=(other-epoch).total_milliseconds();在这个阶段diff是-1349172576,它应该是一个正数,因为“其他”时间是2011年。有人知道是什么原因造成的吗?获取纪元以来的毫秒数的正

c++ - (伪)-行列式为零的 N×N 矩阵的逆

我想在我的GraphSlam中使用nxn矩阵的逆矩阵。我遇到的问题:.inverse()Eigen库(3.1.2)不允许零值,返回NaNLAPACK(3.4.2)库不允许使用零行列式,但允许零值(使用来自ComputingtheinverseofamatrixusinglapackinC的示例代码)Seldon库(5.1.2)由于某种原因无法编译有没有人成功实现了允许负数、零值和零行列式的nxn矩阵求逆代码?有什么好的库(C++)推荐吗?我尝试为GraphSlam计算以下omega:http://www.acastano.com/others/udacity/cs_373_autono

c++ - 使用 Visual Studio 获取 time_t 的最大值

我需要独立于以下代码工作平台:timevaltv;tv.tv_sec=std::numeric_limits::max();此代码在各种LinuxOS和MacOSX下都能正常工作。不幸的是,在Windows下,对于tv.tv_sec这将返回-1。然后我想像这样重新定义time_t:typedefinttime_t;这也不起作用,因为编译器现在提示:errorC2371:'time_t':redefinition;differentbasictypes我怎样才能让这段代码独立于平台运行? 最佳答案 tv.tv_sec=std::num

C++ 模板 : How to put nontype constraints in compiling time

假设我有以下模板templateclassFOO{....}事实上,我要求(I>=F)。如果有人误用FOOa;我希望提出一个编译错误。如何做到这一点?谢谢 最佳答案 一种方法可能是C++11的static_assert,它类似于assert,但在编译时检查:templateclassFOO{static_assert(I>=F,"IneedstobelargerorequaltoF");...}; 关于C++模板:Howtoputnontypeconstraintsincompiling

c++ - 有人在处理 2038 time_t 错误吗?

这个问题在这里已经有了答案:关闭12年前。PossibleDuplicate:Whatshouldwedotopreparefor2038?我指的不是抽象的“人”。我的意思是你正在做任何事情吗?如果是的话是什么?我是一名古老的程序员,记得我在70年代后期编写COBOL时对我团队中的其他人说“你知道-这在2000年是行不通的”。对此的答复是“是的,但到那时该系统不会被使用,那是25年之后”。2038年还有28年。

c# - .NET DateTime 到 time_t 秒

有C代码:time1=((double)dt1-25569.0)*86400.0;它在几秒钟内从TDateTime(VCL)转换为time_t格式,所以最后我需要从.NETDateTime获取time_t格式关于time_t:Itisalmostuniversallyexpectedtobeanintegralvaluerepresentingthenumberofsecondselapsedsince00:00hours,Jan1,1970UTC.Thisisduetohistoricalreasons,sinceitcorrespondstoaunixtimestamp,butis

c++ - 使用 GCC 时 std::put_money 不输出零值

当货币值为零时,std::put_money不会按预期输出“0”字符。我找不到任何解释此行为的内容。例子:#include#includeusingnamespacestd;intmain(){cout.imbue(locale(""));cout我希望输出为“£0.00”(取决于语言环境)但我得到的是“£.00”最终,为零值添加一个特例并不太麻烦,但这种行为对我来说仍然没有意义。这是什么原因(假设是故意的),除了单独处理零之外,是否有任何简单的解决方法?更新这似乎是特定于编译器的,我有报告说它在clang和VS中按预期工作,所以可能是gcc/g++特定的(准确地说是4.9版,但其他版

c++ - 对 C++ 中的 std::get_money 和 std::put_money 的混淆

我对C++函数感到困惑std::get_money在中定义头文件。get_money有什么用根据编程概念?我有以下代码使用std::get_money.#include//std::cin,std::cout#include//std::get_moneyintmain(){longdoubleprice;std::cout>std::get_money(price);if(std::cin.fail())std::cout当我输入100.25时,它返回100。输出和货币格式之间有什么关系?我读了this引用但无法理解关系。std::put_money也存在同样的混淆。,std::ge