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ụ minh họa cách sử dụng của mktime() trong C:

#include <stdio.h>
#include <time.h>

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 thư viện C chuẩn

Xem thêm:

Thư viện C chuẩn:

Viết câu trả lời

Drop Images

0 Bình luận