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);