Hướng Dẫn Lấy Date Và Time Trong C++ đơn Giản | TopDev
Có thể bạn quan tâm
- Developer Resources
- Lập Trình
Thư viện chuẩn C++ (C++ Standard Library) không cung cấp một kiểu Date thích đáng. C++ kế thừa cấu trúc và hàm để thao tác Date và Time từ C. Để truy cập các hàm và cấu trúc liên quan tới Date và Time, bạn sẽ cần khai báo trong chương trình của bạn.
Có 4 kiểu liên quan tới thời gian: clock_t, time_t, size_t, và tm. Trong đó các kiểu clock_t, size_t và time_t có thể biểu diễn System date và time dạng int.
Kiểu cấu trúc tm giữ Date và Time trong mẫu một cấu trúc C có các phần tử sau:
Bảng dưới liệt kê các hàm quan trọng trong khi bạn làm việc với Date và Time trong C hoặc C++. Tất cả hàm này là một phần của thư viện chuẩn và bạn có thể kiểm tra chi tiết bởi sử dụng tham chiếu tới Thư viện chuẩn C++ được cung cấp dưới đây:
STT | Hàm & Mục đích |
1 | time_t time(time_t *time); Trả về thời gian theo lịch của hệ thống, là số giây đã trôi qua từ 1/1/1970. Nếu hệ thống không có thời gian, nó trả về -1 |
2 | char *ctime(const time_t *time); Hàm này trả về một con trỏ tới một chuỗi của mẫu: day month year hours:minutes:seconds yearn. |
3 | struct tm *localtime(const time_t *time); struct tm *localtime(const time_t *time); Hàm này trả về một con trỏ tới cấu trúctm biểu diễn local time |
4 | clock_t clock(void); Hàm này trả về một giá trị mà xấp xỉ với lượng thời gian của chương trình đang gọi đã đang chạy. Trả về -1 nếu thời gian là không có sẵn |
5 | char * asctime ( const struct tm * time ); Trả về một con trỏ tới một chuỗi mà chứa thông tin được lưu giữ trong cấu trúc được trỏ tới bởi time được biến đổi thành mẫu: day month date hours:minutes:seconds yearn |
6 | struct tm *gmtime(const time_t *time); Trả về một con trỏ tới time trong mẫu cấu trúc tm. Thời gian được biểu diễn dạng Coordinated Universal Time (UTC), về bản chất là Greenwich Mean Time (GMT). |
7 | time_t mktime(struct tm *time); Trả về thời gian theo lịch tương đương với thời gian được tìm thấy trong cấu trúc được trỏ tới bởi time |
8 | double difftime ( time_t time2, time_t time1 ); Hàm này tính toán sự khác nhau về số giây của time1 và time2 |
9 | size_t strftime(); Hàm này có thể được sử dụng để định dạng Date và Time trong một định dạng cụ thể |
Date và Time hiện tại trong C++
Giả sử bạn muốn lấy date và time hiện tại của hệ thống: hoặc local time hoặc dạng UTC. Ví dụ sau thực hiện công việc trên:
#include <iostream> #include <ctime> using namespace std; int main( ) { // current date/time based on current system time_t now = time(0); // convert now to string form char* dt = ctime(&now); cout << "The local date and time is: " << dt << endl; // convert now to tm struct for UTC tm *gmtm = gmtime(&now); dt = asctime(gmtm); cout << "The UTC date and time is:"<< dt << endl; }Khi code trên được biên dịch và thực thi, nó cho kết quả sau:
The local date and time is: Sat Jan 8 20:07:41 2011 The UTC date and time is:Sun Jan 9 03:07:41 2011Định dạng Time bởi sử dụng cấu trúc tm trong C++
Cấu trúc tm là rất quan trọng trong khi làm việc với Date và Time trong C và C++. Cấu trúc này giữ Date và Time trong mẫu của một cấu trúc C đã được đề cập ở trên. Hầu hết các hàm liên quan tới thời gian đều sử dụng cấu trúc tm. Ví dụ sau sử dụng các hàm đa dạng liên quan tới Date và Time và cấu trúc tm:
Trong khi sử dụng cấu trúc trong chương này, mình giả sử bạn đã hiểu cơ bản về cấu trúc trong C và cách truy cập các thành viên của cấu trúc bởi sử dụng toán tử ->.
#include <iostream> #include <ctime> using namespace std; int main( ) { // current date/time based on current system time_t now = time(0); cout << "Number of sec since January 1,1970:" << now << endl; tm *ltm = localtime(&now); // print various components of tm structure. cout << "Year: "<< 1900 + ltm->tm_year << endl; cout << "Month: "<< 1 + ltm->tm_mon<< endl; cout << "Day: "<< ltm->tm_mday << endl; cout << "Time: "<< 1 + ltm->tm_hour << ":"; cout << 1 + ltm->tm_min << ":"; cout << 1 + ltm->tm_sec << endl; }Khi code trên được biên dịch và thực thi, nó cho kết quả sau:
Number of sec since January 1, 1970:1294548238 Year: 2011 Month: 1 Day: 8 Time: 22: 44:59Đừng quên xem thêm các bài viết:
- [Tự học C++] Giới thiệu về phạm vi(scope) của biến hoặc hàm cục bộ
- [Tự học C++] Tìm hiểu về tham số và đối số trong hàm
- [Tự học C++] Giới thiệu literals và operators
Cơ hội việc làm C++ hấp dẫn tại TopDev đang chờ bạn!
RELATED ARTICLESMORE FROM AUTHOR
Mảng 2 chiều trong C++: Ví dụ và các bài toán liên quan
IDE C++ là gì? Tiêu chí lựa chọn IDE cho lập trình C++
Hàng đợi – Queue trong C++
Toán tử trong C++ và thứ tự ưu tiên thực hiện
Biến trong C++ và cách sử dụng
Map trong C++ và các thao tác cơ bản
Vòng lặp trong C++ là gì? 3 loại vòng lặp phổ biến trong C++
So sánh C# và C++ – Nên học ngôn ngữ nào?
C++ là gì? Tổng hợp kiến thức và ứng dụng của C++
Microsoft Visual C++ là gì? Các tính năng của Microsoft Visual C++
C++ algorithm: Những thuật toán cơ bản trong C++
Ngăn xếp – Stack trong C++ là gì? Cài đặt và sử dụng Ngăn xếp
ĐỪNG BỎ LỠ
- Hướng dẫn cài đặt và tự học lập trình Python cơ bản từ A-Z
- Mảng 2 chiều trong C++: Ví dụ và các bài toán liên quan
- Hàng đợi – Queue trong C++
- Biến trong C++ và cách sử dụng
- Map trong C++ và các thao tác cơ bản
VIỆC LÀM IT LƯƠNG CAO
- Việc làm PHP
- Việc làm JavaScript
- Việc làm Java
- Việc làm Front-end
- Việc làm Back-end
- Việc làm .NET
- Việc làm Python
- Việc làm Golang
- Việc làm iOS
- Việc làm Android
- Việc làm Flutter
- Việc làm Tester
- Việc làm Node.js
Từ khóa » Size_t Là Gì Trong C
-
Size_t Trong C/C++ | Think In Programming
-
Kiểu Dữ Liệu Size_t Trong C++ Là Gì? - Banhoituidap
-
C/C++, Size_t - Kipalog
-
Size_t Trong C Là Gì? - HelpEx
-
Top 20 Size_t Là Gì Trong C Mới Nhất 2022 - Chickgolden
-
Tự Học C/C++ | Tìm Hiểu Về Số Nguyên Có Chiều Rộng Cố định Và Size_t
-
Size_t Vs Int Trong C++ Và/hoặc C - Tra-loi-cau-hoi-phat-trien
-
Sự Khác Nhau Giữa Size_t Và Int - Programming
-
Thắc Mắc Và Sử Dụng Size_t
-
Tôi Tìm định Nghĩa Của Size_t ở đâu? - Bổ-tú
-
Memset Trong C++ - Techacademy
-
Generic Vector Trong C - Nomi
-
Thắc Mắc Và Sử Dụng Size_T Trong C++ Là Gì? Tự Học C/C++
-
String.h Trong C