This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

Timer Microsecond Always Zero Value ( 1987:01:05 19:34:40.000) In Termite Not Displaying Correctly For Date Time

#include <stdio.h>
#include <sys/time.h>
#include <time.h>
#include <math.h>

int main() {
  char buffer[26];
  int millisec;
  struct tm* tm_info;
  struct timeval tv;

  gettimeofday(&tv, NULL);

  millisec = lrint(tv.tv_usec/1000.0); // Round to nearest millisec
  if (millisec>=1000) { // Allow for rounding up to nearest second
    millisec -=1000;
    tv.tv_sec++;
  }

  tm_info = localtime(&tv.tv_sec);

  strftime(buffer, 26, "%Y:%m:%d %H:%M:%S", tm_info);
  printf("%s.%03d\n", buffer, millisec);

  return 0;
}

I am using the code above and already try it in the compiler . It should work but when I try to display in termite it only display  .000 for microseconds. 

Example 

1987:01:05 19:34:40.000

Why the microsecond value not changed ? This is the link from stackoverflow for the code.

Parents Reply Children
No Data
Related