Following is the util function to get current timestamp in milliseconds:
#include <sys/time.h>
long long current_timestamp() {
struct timeval te;
gettimeofday(&te, NULL); // get current time
long long milliseconds = te.tv_sec*1000LL + te.tv_usec/1000; // calculate milliseconds
// printf("milliseconds: %lld\n", milliseconds);
return milliseconds;
}
About timezone:
gettimeofday() support to specify timezone, I use NULL, which ignore the timezone, but you can specify a timezone, if need.
@Update - timezone
Since the long
representation of time is not relevant to or effected by timezone itself, so setting tz
param of gettimeofday() is not necessary, since it won't make any difference.
And, according to man page of gettimeofday()
, the use of the timezone
structure is obsolete, thus the tz
argument should normally be specified as NULL, for details please check the man page.