How to get time in milliseconds using C++ on Linux?

C++Server Side ProgrammingProgramming

Here we will see how to get time (the elapsed time for the program or any other kind of time).

Here we are using linux library for C++. There is a structure called timeval. This timeval stores the time in seconds, milliseconds. We can create two time for start and end, then find the difference from them.


#include <sys/time.h>
#include <iostream>
#include <unistd.h>
using namespace std;
main() {
   struct timeval start_time, end_time;
   long milli_time, seconds, useconds;
   gettimeofday(&start_time, NULL);
   cout << "Enter something: ";
   char ch;
   cin >> ch;
   gettimeofday(&end_time, NULL);
   seconds = end_time.tv_sec - start_time.tv_sec; //seconds
   useconds = end_time.tv_usec - start_time.tv_usec; //milliseconds
   milli_time = ((seconds) * 1000 + useconds/1000.0);
   cout << "Elapsed time: " << milli_time <<" milliseconds\n";


Enter something: h
Elapsed time: 2476 milliseconds
Updated on 30-Jul-2019 22:30:26