草庐IT

Datetime

全部标签

c++ - 如何解析包含小数时间的日期时间字符串?

我有一个日期时间字符串:20:48:01.469UTCMAR312016我想使用strptime将这个时间字符串表示形式转换为structtm,但我的格式字符串不起作用。是否有小数秒的格式说明符?也许%S、%s或其他什么?代码片段如下:tmtmbuf;constchar*str="20:48:01.469UTCMAR312016"constchar*fmt="%H:%M:%s%Z%b%d%Y";strptime(str,fmt,&tmbuf); 最佳答案 使用这个free,opensourceC++11/14library,这是另一

c++ - 在 Windows 7 中使用 windows.h 在 C++ 中更改文件创建日期

我有以下代码:intmain(intargc,char**argv){oneloga;std::cout现在的问题是;当我检查文件的属性时,它只会更改修改日期。我需要问一下;Howtochangethefile'screationdateinsteadofthemodificationdate?谢谢请给这个新手一些代码。 最佳答案 它设置最后修改时间,因为这是您要求它做的。该函数接收3个文件时间参数,您只将一个值传递给最后一个参数lpLastWriteTime。要设置创建时间,请像这样调用函数:SetFileTime(filenam

c++ - 您如何获得特定日期某个位置的时区(偏移量)?

我正在以UTC格式存储消息。因此,如果有人回顾以前的消息,我需要能够将时间戳转换为相对于当时时区的时间。我如何获得当时的时区?例如,2012年9月3日的时区是PDT。当前时间偏移量为-0700。我在9:06发消息。UTC时间为16:06。我在2012年12月1日返回此消息。当前时区是太平洋标准时间。当前时间偏移量为-0800。我查看了我在2012年9月3日发送的消息。如果我使用当前时间偏移量从UTC转换回来,我会得到8:06,这不是消息发送的时间。9:06发送。因此,我需要一种方法来确定2012年9月3日的时区是PDT,而不是PST。附言没有图书馆是最好的,谢谢。

c# - 将 SYSTEMTIME( native C++)转换为日期时间 (C#)

我有一个与C#服务器通信的C++客户端,并且我有针对用户定义类型的自定义序列化。现在我需要将日期和时间结构从C++传递到C#。谷歌搜索导致了以下方法:在SYSTEMTIME结构中填写日期/时间(这不是当前系统时间,而是程序根据一定条件填写)将SYSTEMTIME转换为FILETIME将FILETIME转换为__int64(这给出了一个64位值,表示从1601年1月1日开始的100纳秒间隔数)在构造函数中将此64位值用于C#中的DateTime。只是为了试水,我写了2个片段,一个是用(原生)C++编写的,用于执行步骤1、2、3,另一个是用C#编写的,用于执行步骤4。还没有从C++到C#的

c++ - QDateTime Isodate with timezone ?

我正在寻找来自qt的日期时间,以将字符串作为isodate但带有时区返回给我。我有时会在网上查看我的问题,但没有找到解决方案我刚刚得到这个:this->ui.dateEnd->dateTime().toString(Qt::ISODate);给我这个:1900-10-31T23:00:00Z或者还有这个:this->ui.dateEnd->dateTime().toUfc().toString(Qt::ISODate);给我这个:1900-10-31T23:00:00Z我想要这个:1900-10-31T23:00:00+01.00.00如果有人有想法,谢谢!

c++ - 使用 Boost.Date_Time 解析带时区的日期时间?

我想使用BoostDateTimeIO解析带时区的日期时间图书馆。#include#include#includeusingnamespaceboost::gregorian;usingnamespaceboost::posix_time;std::chrono::system_clock::time_pointParseDate(conststd::wstring&dateText,constwchar_t*constformat){ptimetime;std::wstringstreambuffer(dateText);buffer.imbue(std::locale(std::l

c++ - 在 boost::posix_time 中设置值(年、月、日...)

在一个类中,我有一个属性boost::posix_time::ptime,它指的是这样的日期和时间:boost::posix_time::ptimep_;在构造函数中,我可以毫无问题地传递值和设置它们。my_class::my_class(...):p_(boost::posix_time::ptime(boost::gregorian::date(y,M,d),hours(h)+minutes(m)+seconds(s)+milliseconds(ms)+microseconds(us)+nanosec(ns));我想为这个ptime的所有字段(年、月、日、小时......如果可能的

c++ - clock_gettime( CLOCK_REALTIME .... ) 和 time() 之间有什么区别吗?

一个简单的问题:做time(...)和clock_gettime(CLOCK_REALTIME,...)理论上产生相同的时间(仅就秒而言)?我的意思是:time_tepoch;time(&epoch);和structtimespecspec;clock_gettime(CLOCK_REALTIME,&spec);这两个是否应该返回完全相同的结果(相对于秒数)?我用不断变化的时间和时区和epoch对此进行了“测试”和spec.tv_sec总是显示相同的结果,但CLOCK_REATIME的文档让我有点困惑,我不确定,他们总是一样的。现实世界的情况:我有一段代码,它使用了time.现在我想要

c++ - std::get_time 没有解析日期

如果我尝试使用std::get_time在tm中设置日期什么也没有发生,但是输入流处于失败状态,这意味着解析错误已经发生了。下面的代码有什么问题?{//settingtimeworksstd::tmt{};std::istringstreamss("01:02:03");ss.imbue(std::locale("de_DE"));ss>>std::get_time(&t,"%H:%M:%S");std::cout>std::get_time(&t,"%d");std::cout输出:0SunJan001:02:0319001SunJan000:00:001900

c++ - 为什么这个 time_zone_ptr 示例不包含内存泄漏?

我正在阅读boostDateTime库here,其中包含许多示例,例如:time_zone_ptrzone(newposix_time_zone("MST-07"));我很好奇为什么使用关键字“new”不会导致内存泄漏?我调查了boost源代码,注意到它有两个不同版本的构造函数,一个使用shared_ptr,另一个使用weak_ptr。有人可以解释这些是如何工作的,以及为什么上面的行可以安全编写? 最佳答案 time_zone_ptr只是boost::shared_ptr的别名.这是一个智能指针,它获取动态分配对象的所有权,从构造它