Cara Mengonversi Waktu Epoch di C++

Fungsi waktu di pustaka standar C++ mengembalikan detik yang berlalu sejak tanggal dan waktu tertentu yang distandarisasi yang dikenal sebagai epoch. Meskipun nilai ini berisi semua informasi yang diperlukan untuk menghitung waktu dan tanggal sistem saat ini, menulis kode terjemahan waktu zaman Anda sendiri rawan kesalahan. Menggunakan fungsi konversi waktu yang disediakan perpustakaan standar membuat proses terjemahan ini menjadi sepele, memungkinkan Anda untuk fokus pada bagian yang lebih kompleks dari aplikasi Anda.

Langkah 1

Sertakan fungsionalitas waktu pustaka standar C++ ke dalam aplikasi Anda. Tambahkan baris berikut ke bagian atas daftar sertakan Anda:

termasuk

Langkah 2

Dapatkan detik yang berlalu sejak Epoch, dan simpan secara lokal. Lakukan ini dengan memanggil time(), dan menyimpan hasilnya ke dalam objek bertipe time_t. Fungsi waktu juga menerima penunjuk ke objek bertipe time_t sebagai argumen, tetapi lebih mudah untuk menyimpan objek ini secara lokal di tumpukan:

time_t time SinceEpoch = waktu(NULL);

Langkah 3

Buat struktur waktu untuk menyimpan hasil konversi waktu. Struktur ini didefinisikan dalam file header time.h sebagai struktur bernama tm, dan menyediakan variabel anggota dengan nama yang sesuai untuk setiap komponen waktu yang dikonversi:

tm waktuHasil;

Gunakan salah satu fungsi konversi bawaan untuk menyimpan nilai time_t yang diperoleh sebelumnya sebagai struktur tm. Untuk kesederhanaan, kode berikut mengubah objek time_t menjadi struktur tm UTC:

timeResult = gmtime( &time SinceEpoch );