Saya ingin mendapatkan waktu saat ini dari sistem saya. Untuk itu saya menggunakan kode berikut di C:
time_t now;
struct tm *mytime = localtime(&now);
if ( strftime(buffer, sizeof buffer, "%X", mytime) )
{
printf("time1 = \"%s\"\n", buffer);
}
Masalahnya adalah kode ini memberikan waktu acak. Juga, waktu acak berbeda setiap saat. Saya ingin waktu saat ini dari sistem saya.
Jawaban:
Salin-tempel dari sini :
(cukup tambahkan "void" ke daftar argumen main () agar ini berfungsi di C)
sumber
strptime
fungsi di time.h untuk mengonversi darichar *
menjadistruct tm
time_t
objek sebagai argumen untuktime()
. MenempatkanNULL
,,0
dll sebagai parameter berfungsi untuk mengembalikan waktu saat ini.Inisialisasi
now
variabel Anda .The
localtime
Fungsi ini digunakan untuk mengkonversi nilai waktu dalam berlalutime_t
kestruct tm
, itu tidak benar-benar mengambil waktu sistem.sumber
Jalan mudah:
sumber
#include <string.h>
Untuk memperluas jawaban dari @mingos di atas, saya menulis fungsi di bawah ini untuk memformat waktu saya ke format tertentu ([dd mm yyyy hh: mm: ss]).
Informasi lebih lanjut tentang
struct tm
dapat ditemukan di sini .sumber
sumber
teman-teman Anda dapat menggunakan fungsi ini untuk mendapatkan waktu setempat saat ini. jika Anda ingin gmtime maka gunakan fungsi gmtime daripada localtime. Bersulang
sumber
Jika Anda hanya membutuhkan waktu tanpa tanggal.
sumber
sumber
void main()
seharusnyaint main(void)
.kawan, saya mendapat cara baru mendapatkan waktu sistem. Meskipun panjang dan penuh dengan pekerjaan konyol tetapi dengan cara ini Anda bisa mendapatkan waktu sistem dalam format integer.
sumber