How to print time in format: 2009‐08‐10 18:17:54.811

Dominic Bou-Samra picture Dominic Bou-Samra · Sep 9, 2010 · Viewed 203.6k times · Source

What's the best method to print out time in C in the format 2009‐08‐10 
18:17:54.811?

Answer

Hamid Nazari picture Hamid Nazari · Sep 9, 2010

Use strftime().

#include <stdio.h>
#include <time.h>

int main()
{
    time_t timer;
    char buffer[26];
    struct tm* tm_info;

    timer = time(NULL);
    tm_info = localtime(&timer);

    strftime(buffer, 26, "%Y-%m-%d %H:%M:%S", tm_info);
    puts(buffer);

    return 0;
}

For milliseconds part, have a look at this question. How to measure time in milliseconds using ANSI C?