30/09/2018, 18:33

Cần giải thích về hàm lấy thời gian hiện hành

ví dụ mình có một hàm:

int takeYear()
{
time_t rawtime;
  struct tm * timeinfo;
  time ( &rawtime );
  timeinfo = localtime ( &rawtime );
 return timeinfo->tm_year // return to the current year
}

mình ko hiểu
time_t rawtime;
struct tm * timeinfo;
time ( &rawtime );
localtime ( &rawtime );
các dòng lệnh đó là gì? và có chức năng gì? ai biết giải thích giúp mình từng dòng lệnh với, cảm ơn mọi người

*grab popcorn* viết 20:49 ngày 30/09/2018

time_t = time type
struct tm thì nó gồm cái gì là ở đây: http://pubs.opengroup.org/onlinepubs/007908775/xsh/time.h.html
Thì hàm time(&rawtime) = lấy thời gian hiện tại, nhưng có vẻ như nó chưa có thể in ra ở định dạng ngày tháng năm. Tức ở dạng nào đó mà ko in ra được. Hoặc có ra được cũng chả hiểu được.
Sau đó hàm localtime sẽ biến đổi cái data trong rawtime thành struct tm, thì ở đây nó chia thành ngày tháng năm rõ ràng, dễ hiểu hơn.
Và hàm asctime sẽ giúp chúng ta biến struct tm thành một chuỗi, từ đó in ra đúng định dạng luôn.
Ref: http://www.cplusplus.com/reference/ctime/localtime/

Bài liên quan
0