-/*
+/* $Id$
+
This file is part of libmspcore
-Copyright © 2006 Mikko Rasa, Mikkosoft Productions
+Copyright © 2006-2008 Mikko Rasa, Mikkosoft Productions
Distributed under the LGPL
*/
+
#ifdef WIN32
#include <windows.h>
#else
#include <sys/resource.h>
#include <sys/time.h>
#endif
+#include "datetime.h"
#include "timedelta.h"
#include "timestamp.h"
#include "units.h"
#include "utils.h"
+using namespace std;
+
namespace Msp {
namespace Time {
gettimeofday(&tv, 0);
return TimeStamp(tv.tv_sec*1000000LL+tv.tv_usec);
#else
- static int64_t epoch=0;
+ static RawTime epoch=0;
if(!epoch)
{
SYSTEMTIME st;
FILETIME ft;
SystemTimeToFileTime(&st, &ft);
- epoch=(ft.dwLowDateTime+(int64_t)ft.dwHighDateTime<<32)/10;
+ epoch=(ft.dwLowDateTime+(static_cast<RawTime>(ft.dwHighDateTime)<<32))/10;
}
FILETIME ft;
GetSystemTimeAsFileTime(&ft);
- return TimeStamp((ft.dwLowDateTime+(int64_t)ft.dwHighDateTime<<32)/10-epoch);
+ return TimeStamp((ft.dwLowDateTime+(static_cast<RawTime>(ft.dwHighDateTime)<<32))/10-epoch);
#endif
}
+string format_now(const string &fmt)
+{
+ return DateTime(now()).format(fmt);
+}
+
/**
Returns the CPU time used by the program so far.
*/