Visual c++ visualc&x2B+;如何将日期时间转换为自1970年以来的秒数
我正在尝试转换日期时间:Visual c++ visualc&x2B+;如何将日期时间转换为自1970年以来的秒数,visual-c++,datetime,seconds,Visual C++,Datetime,Seconds,我正在尝试转换日期时间: 到1970以来使用Visual C++ +秒/P>的秒数 我寻找了许多解决方案,但都没有成功。 谢谢您可以使用两个日期之间差异的时间跨度来完成此操作。大概是这样的: DateTime dtDateYouWantToConvert = /* .... */ DateTime dtReference(1970, 1, 1, 0, 0, 0); TimeSpan tsDiff = dtDateYouWantToConvert - dtReference; // calc
到1970以来使用Visual C++ +秒/P>的秒数 我寻找了许多解决方案,但都没有成功。
谢谢您可以使用两个日期之间差异的
时间跨度
来完成此操作。大概是这样的:
DateTime dtDateYouWantToConvert = /* .... */
DateTime dtReference(1970, 1, 1, 0, 0, 0);
TimeSpan tsDiff = dtDateYouWantToConvert - dtReference;
// calculate number of seconds (including fractional) since 1/1/1970
double dSeconds = tsDiff.TotalSeconds;
您好,谢谢您的回答。另一个小问题,如何将秒数转换回字符串形式的时间?我的意思是从dSeconds返回到DateTime?只需将
TimeSpan
添加(或减去)到DateTime
中,您就会得到一个DateTime
您可以格式化,或者使用TimeSpan.ToString(format)
来获取TimeSpan
的字符串。如何将秒数转换为DateTime?我找到了一个有效的答案,我不知道是否还有更简单的事情:时间;双D秒=tsDiff.TotalSeconds;ts=(时间)d秒;struct tm*tm_ts=gmtime(&ts);char str_temp44[80]=“”;strftime(str_temp44,80,“%a,%d.%m.%Y%H:%m:%S”,tmts);