//#if !defined(_MSC_VER) && defined(_QTSDK_)
#include <qdatetime.h>
inline int64_t getMilliseconds_QT() {
return QDateTime::currentMSecsSinceEpoch();
}
//#elif defined(__GNUC__)
// gcc mingw
#include <sys/time.h>
inline int64_t getMilliseconds_GCC()
{
struct timeval t1;
int64_t timeuse;
gettimeofday(&t1,NULL);
timeuse = t1.tv_sec;
timeuse = timeuse*1000;
timeuse += (t1.tv_usec)/1000.0;
return timeuse;
}
//#elif defined(_MSC_VER)
#include <chrono>
uint64_t getMilliseconds_VS() {
auto now = std::chrono::system_clock::now();
auto milliseconds = std::chrono::duration_cast<std::chrono::milliseconds>(now.time_since_epoch()) ;
return milliseconds.count();
}
//#endif
代码中QT、GCC、VS获取到的时间完全一样,
_PRINTF()<<getMilliseconds_QT()<<getMilliseconds_GCC()<<getMilliseconds_VS();
1712395071761 1712395071761 1712395071761