Hàm mktime() trong C (chi tiết nhất)




Hàm mktime() trong C

Hàm time_t mktime(struct tm *timeptr) chuyển đổi cấu trúc được trỏ tới bởi timeptr vào trong một giá trị time_t theo Local Timezone.

Khai báo hàm mktime() trong C

Dưới đây là phần khai báo cho mktime() trong C:

time_t mktime(struct tm *timeptr)

Tham số

  • timeptr -- là con trỏ trỏ tới giá trị time_t biểu diễn một calendar time, mà được chia nhỏ thành các thành phần với cấu trúc:

struct tm {
   int tm_sec;         /* biểu diễn giây, từ 0 tới 59 */
   int tm_min;         /* biểu diễn phút, từ 0 tới 59  */
   int tm_hour;        /* biểu diễn giờ, từ 0 tới 23   */
   int tm_mday;        /* biểu diễn ngày của tháng, từ 1 tới 31 */
   int tm_mon;         /* biểu diễn tháng, từ 0 tới 11 */
   int tm_year;        /* biểu diễn năm, bắt đầu từ 1900 */
   int tm_wday;        /* ngày trong tuần, từ 0 tới 6  */
   int tm_yday;        /* ngày trong năm, từ 0 tới 365 */
   int tm_isdst;       /* biểu diễn Daylight Saving Time */
};

Trả về giá trị

Hàm này trả về giá trị time_t tương ứng với tham số calendar time đã truyền. Nếu có lỗi, hàm này trả về giá trị -1.

Ví dụ

Chương trình C sau minh họa cách sử dụng của mktime() trong C:

#include 
#include int main ()
{
   int ret;
   struct tm info;
   char buffer[80];   info.tm_year = 2016 - 1900;
   info.tm_mon = 7 - 1;
   info.tm_mday = 4;
   info.tm_hour = 0;
   info.tm_min = 0;
   info.tm_sec = 1;
   info.tm_isdst = -1;   ret = mktime(&info);
   if( ret == -1 )
   {
      printf("Error: khong the lay time boi su dung mktime\n");
   }
   else
   {
      strftime(buffer, sizeof(buffer), "%c", &info );
      printf(buffer);
   }   return(0);
}

Biên dịch và chạy chương trình C trên sẽ cho kết quả:

Hàm mktime trong C

Các bài Thư viện C phổ biến khác tại VietJack:


time-h-trong-c.jsp