Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

human readable timestamp in linux kernel

How can I write human readable timestamp in linux kernel? I think do_gettimeofday returns epoch but I don't want to try to convert it to readable time. I just want a format like Hour:Min:Sec:Msec. Thanks

like image 731
stedkka Avatar asked Dec 28 '11 09:12

stedkka


1 Answers

Later kernels have a function time_to_tm to break epoch time into human readable format.

Here's an example:

struct timeval t;
struct tm broken;
do_gettimeofday(&t);
time_to_tm(t.tv_sec, 0, &broken);
printk("%d:%d:%d:%ld\n", broken.tm_hour, broken.tm_min, 
                         broken.tm_sec, t.tv_usec);

Again, this is only available in later kernels. The second parameter time_to_tm is an offset to the epoch time. In my local time is 0, I don't know which one you should use.

like image 140
Fred Avatar answered Oct 18 '22 19:10

Fred