I have been trawling through the internet looking for a platform independent way of getting system time in milliseconds.
Most of my searches just returned the answer that there is no such thing.
Does anyone know of a way in QNX 6.3.2 of getting the system time in milliseconds (or smaller increments)?
While I was waiting for a response I searched through both time.h files and found this and am now using it.
Here is the function I created:
struct timespec timsp; // For nanosecond timestamp
time_t rawtime; // For localtime
struct tm * timeinfo; // For localtime
char* timeinasc; // Ascii representation of time
char outputstring; // Outputted string you can return this or manipulate any way req.
// Get millisecond timestamp
if(clock_gettime(CLOCK_REALTIME, &timsp) == -1)
printf("Error when getting millisecond timestamp error number = %d\n", errno);
// Get localtime
timeinfo = localtime(&rawtime);
timeinasc = asctime(timeinfo);
// Get rid of date a trailing newline character (why add this?)
timeinasc[strlen(timeinasc)-1] = 0;
timeinasc[strlen(timeinasc)-2] = 0;
timeinasc[strlen(timeinasc)-3] = 0;
sprintf(outputstring, "%s:%d \n",timeinasc, timsp.tv_nsec/1000000);
There may be a small discrepency between the millisecond value and the local time but I do not require that level of accuracy.
Thanks for the response.