Lebih
Cara untuk mendapatkan waktu saat ini dan tanggal di C++?
Apakah ada cross-platform cara untuk mendapatkan tanggal dan waktu saat ini di C++?
402
23
Dalam C++ 11 anda dapat menggunakan [
std::chrono::system_clock::sekarang()
][1]Contoh (disalin dari [en.cppreference.com][2]):
C++ saham tanggal/waktu fungsi dengan C. [tm struktur][1] mungkin adalah cara termudah untuk C++ programmer untuk bekerja dengan - berikut cetak hari ini's upload:
Anda dapat mencoba cross-platform berikut kode untuk mendapatkan current date/time:
std C perpustakaan menyediakan
time()
. Ini adalah detik dari zaman dan dapat dikonversi ke date danH:M:S
menggunakan fungsi-fungsi standar C. Meningkatkan juga memiliki waktu/tanggal library yang anda dapat memeriksa.C++ standar library tidak memberikan tanggal yang tepat jenis. C++ mewarisi struktur dan fungsi tanggal dan waktu manipulasi dari C, bersama dengan beberapa tanggal/waktu input dan output fungsi yang memperhitungkan lokalisasi.
Baru, jawaban untuk sebuah pertanyaan lama:
Pertanyaan tidak menentukan apa yang di timezone. Ada dua yang wajar kemungkinan:
1, anda dapat menggunakan [tanggal ini perpustakaan][1] dan program berikut:
(Untuk sesama karyawan google)
Ada juga Boost::date_time :
Ya dan anda dapat melakukannya dengan format aturan yang ditentukan oleh saat ini-dijiwai lokal:
anda bisa menggunakan C++ 11 waktu kelas:
Ada's selalu
__TIMESTAMP__
preprocessor makro.Anda juga dapat langsung menggunakan
ctime()
:Saya menemukan link ini cukup berguna untuk implementasi saya: C++ Tanggal dan Waktu
Berikut ini's kode yang saya gunakan dalam implementasi saya, untuk mendapatkan yang jelas "YYYYMMDD HHMMSS" format output. Kode param adalah untuk beralih antara waktu UTC dan waktu lokal. Anda dapat dengan mudah memodifikasi kode saya untuk kebutuhan anda.
Ini disusun untuk saya di Linux (RHEL) dan Windows (x64) menargetkan g++ dan OpenMP:
http://www.cplusplus.com/reference/ctime/strftime/
Ini built-in tampaknya menawarkan satu set yang wajar dari opsi.
The ffead-cpp menyediakan beberapa utilitas kelas untuk berbagai tugas, satu kelas tersebut adalah Tanggal kelas yang menyediakan banyak fitur yang tepat dari Tanggal operasi untuk tanggal aritmatika, ada's juga Timer kelas yang disediakan untuk waktu operasi. Anda dapat melihat hal yang sama.
Ini bekerja dengan G++ I'm tidak yakin jika ini akan membantu anda. Output Program:
Kode :
Anda dapat menggunakan kode berikut untuk mendapatkan sistem saat ini tanggal dan waktu dalam C++ :
localtime_s() versi: