Chcę uzyskać aktualny czas w moim systemie. W tym celu używam następującego kodu w C:
time_t now;
struct tm *mytime = localtime(&now);
if ( strftime(buffer, sizeof buffer, "%X", mytime) )
{
printf("time1 = \"%s\"\n", buffer);
}
Problem w tym, że ten kod daje jakiś losowy czas. Ponadto losowy czas jest za każdym razem inny. Chcę mieć aktualny czas w moim systemie.
Odpowiedzi:
Skopiuj-wklej stąd :
(po prostu dodaj "void" do listy argumentów main (), aby działało w C)
źródło
strptime
char *
struct tm
time_t
obiekt jako argumenttime()
. WstawianieNULL
,0
itp. Jako parametru zwraca aktualny czas.Zainicjuj swoją
now
zmienną.localtime
Funkcja służy do konwersji wartości czasowej przekazanytime_t
dostruct tm
, faktycznie nie pobierać czas systemowy.źródło
Łatwy sposób:
źródło
#include <string.h>
Aby rozszerzyć odpowiedź z @mingos powyżej, napisałem poniższą funkcję, aby sformatować mój czas do określonego formatu ([dd mm rrrr hh: mm: ss]).
Więcej informacji na temat
struct tm
można znaleźć tutaj .źródło
źródło
chłopaki, możecie użyć tej funkcji, aby uzyskać aktualny czas lokalny. jeśli chcesz gmtime, użyj funkcji gmtime zamiast czasu lokalnego. Twoje zdrowie
źródło
Jeśli potrzebujesz tylko godziny bez daty.
źródło
źródło
void main()
powinno byćint main(void)
.Chłopaki, mam nowy sposób na uzyskanie czasu systemowego. choć jest długi i pełen głupich prac, ale w ten sposób można uzyskać czas systemowy w formacie całkowitoliczbowym.
źródło