So sánh ngày trong c#
Header file có tên time.h trong Thư viện C chuẩn định nghĩa 4 kiểu biến, hai macro và các hàm đa dạng để thao tác với date và time. Show
Các biến được định nghĩa trong time.hDưới đây liệt kê một số kiểu biến được định nghĩa trong time.h:
Cấu trúc tm có định nghĩa như sau: 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 */ };Các Macro được định nghĩa trong time.hBảng dưới liệt kê một số Macro được định nghĩa trong time.h:
Các hàm được định nghĩa trong time.hSau đây là một số hàm được định nghĩa trong time.h:
Hàm asctime() trong CHàm char *asctime(const struct tm *timeptr) Trả về một con trỏ tới một chuỗi biểu diễn ngày và thời gian của cấu trúc struct timeptr. Khai báo hàm asctime() trong C: Dưới đây là phần khai báo cho asctime() trong C: char *asctime(const struct tm *timeptr)Tham số: Tham số timeptr là một con trỏ tới cấu trúc tm mà chứa một Calendar time được chia nhỏ thành các thành phần như sau: 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ề một chuỗi chứa thông tin date và time trong một định dạng con người có thể đọc Www Mmm dd hh:mm:ss: ở đây Www là ngày trong tuần, Mmm là các ký tự chỉ tháng, dd là ngày của tháng, hh:mm:ss là thời gian và yyyy là năm. Ví dụ: Chương trình C sau minh họa cách sử dụng của asctime() trong C: #includeBiên dịch và chạy chương trình C trên sẽ cho kết quả: Fri Jul 18 06:16:15 2018Hàm clock() trong CHàm clock_t clock(void) Trả về số tích tắc đồng hồ đã trôi qua từ khi chương trình được chạy. Để lấy số giây được sử dụng bởi CPU, bạn sẽ cần chia cho CLOCKS_PER_SEC. Trên hệ điều hành 32 bit thì CLOCKS_PER_SEC bằng 1000000, hàm này sẽ trả về cùng giá trị xấp xỉ mỗi 72 phút. Khai báo hàm clock() trong C: Dưới đây là phần khai báo cho clock() trong C: clock_t clock(void)Tham số:
Trả về giá trị: Hàm này trả về số tích tắc đồng hồ đã trôi qua từ khi chương trình được chạy. Nếu thất bại, hàm trả về -1. Ví dụ: Chương trình C sau minh họa cách sử dụng của clock() trong C: #includeChạy code trên ta nhận được kết quả như sau: Bat dau chuong trinh, start_t = 884Quet qua mot vong lap lon, start_t = 884 Ket thuc vong lap, end_t = 32819 Tong thoi gian su dung boi CPU: 0.000000 Thoat chuong trinh... Hàm ctime() trong CHàm char *ctime(const time_t *timer) trả về một chuỗi biểu diễn localtime dựa trên tham số timer Chuỗi trả về có định dạng sau: Www Mmm dd hh:mm:ss trong đó Www là ngày trong tuần, Mmm là các ký tự chỉ tháng, dd là ngày của tháng, hh:mm:ss là thời gian và yyyy là năm. Khai báo hàm ctime() trong C: Dưới đây là phần khai báo cho ctime() trong C: char *ctime(const time_t *timer)Tham số:
Trả về giá trị: Hàm này trả về một chuỗi chứa thông tin date và time trong một định dạng con người có thể đọc. Ví dụ: Chương trình C sau minh họa cách sử dụng của ctime() trong C: #includeBiên dịch và chạy chương trình C trên sẽ cho kết quả: Thời gian hiện tại = Mon Oct 15 04:49:13 2018 Hàm difftime() trong CHàm double difftime(time_t time1, time_t time2) trả về số giây khác nhau giữa time1và time2, ví dụ như là (time1 - time2). Hai time được xác định trong Calendar time, biểu diễn thời gian đã trôi qua từ Epoch (00:00:00 1/1/19700 theo UTC). Khai báo hàm difftime() trong C: Dưới đây là phần khai báo cho difftime() trong C: double difftime(time_t time1, time_t time2)Tham số:
Trả về giá trị: Hàm này trả về số giây khác nhau giữa hai thời gian (time2 – time1) dưới dạng một giá trị double. Ví dụ: Chương trình C sau minh họa cách sử dụng của difftime() trong C: #includeBiên dịch và chạy chương trình C trên sẽ cho kết quả: Bắt đầu chương trình...Thời gian thực thi = 0.000000 Thoát chương trình... Hàm gmtime() trong CHàm struct tm *gmtime(const time_t *timer) sử dụng giá trị được trỏ tới bởi timer để điền vào một cấu trúc tm với các giá trị mà biểu diễn thời gian tương ứng, được diễn đạt trong UTC hoặc GMT. Khai báo hàm gmtime() trong C: Dưới đây là phần khai báo cho gmtime() trong C: struct tm *gmtime(const time_t *timer)Tham số:
Trả về giá trị: Hàm này trả về con trỏ tới cấu trúc tm với thông tin thời gian được điền vào trong. Dưới đây là chi tiết về cấu trúc timeptr. 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 */ };Ví dụ: Chương trình C sau minh họa cách sử dụng của gmtime() trong C, bạn có thể tham khảo thêm danh sách múi giờ tại đây: #includeBiên dịch và chạy chương trình C trên sẽ cho kết quả: Thời gian hiện tại:Tại London: 5:51 Tại Trung Quốc: 12:51 Hàm localtime() trong CHàm struct tm *localtime(const time_t *timer) sử dụng time được trỏ tới bởi timer để điền một cấu trúc tm với các giá trị mà biểu diễn Local time tương ứng. Giá trị của timer được chia vào trong cấu trúc tm và được diễn đạt trong Local Timezone. Khai báo hàm localtime() trong C: Dưới đây là phần khai báo cho localtime() trong C: struct tm *localtime(const time_t *timer)Tham số:
Trả về giá trị: Hàm này trả về con trỏ tới cấu trúc tm với thông tin thời gian được điền vào trong. Dưới đây là chi tiết về cấu trúc timeptr. 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 */ };Ví dụ: Chương trình C sau minh họa cách sử dụng của localtime() trong C: #includeBiên dịch và chạy chương trình C trên sẽ cho kết quả: Local time và Local date hiện tại là:Mon Oct 15 11:56:31 2018 Hàm mktime() trong CHà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ố:
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: #includeBiên dịch và chạy chương trình C trên sẽ cho kết quả: Mon Jul 4 00:00:01 2016Hàm strftime() trong CHàm size_t strftime(char *str, size_t maxsize, const char *format, const struct tm *timeptr) định dạng thời gian được biểu diễn trong cấu trúc timeptr theo các qui tắc định dạng được định nghĩa trong format và được lưu trữ vào trong str. Khai báo hàm strftime() trong C: Dưới đây là phần khai báo cho strftime() trong C: size_t strftime(char *str, size_t maxsize, const char *format, const struct tm *timeptr)Tham số:
Trả về giá trị: Nếu chuỗi kết quả có kích cỡ nhỏ hơn kích cỡ các ký tự (bao gồm ký tự null kết thúc), thì toàn bộ ký tự được sao chép tới str (không bao gồm ký tự null kết thúc) được trả về. Nếu không, hàm trả về 0. Ví dụ: Chương trình C sau minh họa cách sử dụng của strftime() trong C: #includeBiên dịch và chạy chương trình C trên sẽ cho kết quả: Date & time đã định dạng theo hàm strftime là:|10/15/18 - 04:58AM| Hàm time() trong CHàm time_t time(time_t *seconds) trả về thời gian từ Epoch (00:00:00 1/1/1970 theo UTC), được ước lượng bằng giây. Nếu tham số seconds không là NULL, thì giá trị trả về cũng được lưu trữ trong biến seconds. Khai báo hàm time() trong C: Dưới đây là phần khai báo cho time() trong C: time_t time(time_t *t)Tham số:
Trả về giá trị: Hàm trả về Calendar time hiện tại dưới dạng một đối tượng time_t. Ví dụ: Chương trình C sau minh họa cách sử dụng của time() trong C: #includeBiên dịch và chạy chương trình C trên sẽ cho kết quả: Số giờ (h) bắt đầu từ 1/1/1970 = 427660 giờ |