it-swarm.com.de

Liefert die aktuelle Uhrzeit in C

Ich möchte die aktuelle Uhrzeit meines Systems erhalten. Dafür verwende ich den folgenden Code in C:

time_t now;
struct tm *mytime = localtime(&now); 
if ( strftime(buffer, sizeof buffer, "%X", mytime) )
{
    printf("time1 = \"%s\"\n", buffer);
}

Das Problem ist, dass dieser Code eine zufällige Zeit angibt. Auch die zufällige Zeit ist jedes Mal anders. Ich möchte die aktuelle Uhrzeit meines Systems.

87
Antrromet

Kopieren-Einfügen von hier :

/* localtime example */
#include <stdio.h>
#include <time.h>

int main ()
{
  time_t rawtime;
  struct tm * timeinfo;

  time ( &rawtime );
  timeinfo = localtime ( &rawtime );
  printf ( "Current local time and date: %s", asctime (timeinfo) );

  return 0;
}

(Fügen Sie einfach "void" zur main () - Argumentliste hinzu, damit dies in C funktioniert.)

114
mingos

Initialisieren Sie Ihre Variable now.

time_t now = time(0); // Get the system time

Die Funktion localtime wird verwendet, um den Zeitwert in den übergebenen time_t zu einem struct tm, die Systemzeit wird nicht abgerufen.

62
Erik

Einfacher Weg:

#include <time.h>
#include <stdio.h>

int main(void)
{
    time_t mytime = time(NULL);
    char * time_str = ctime(&mytime);
    time_str[strlen(time_str)-1] = '\0';
    printf("Current Time : %s\n", time_str);

    return 0;
}
33
zishan

Um die Antwort von @mingos oben zu erweitern, habe ich die folgende Funktion geschrieben, um meine Zeit auf ein bestimmtes Format zu formatieren ([TT MM JJJJ HH: MM: SS]).

// Store the formatted string of time in the output
void format_time(char *output){
    time_t rawtime;
    struct tm * timeinfo;

    time ( &rawtime );
    timeinfo = localtime ( &rawtime );

    sprintf(output, "[%d %d %d %d:%d:%d]",timeinfo->tm_mday, timeinfo->tm_mon + 1, timeinfo->tm_year + 1900, timeinfo->tm_hour, timeinfo->tm_min, timeinfo->tm_sec);
}

Weitere Informationen zu struct tm kann gefunden werden hier .

11
hexinpeter
#include<stdio.h>
#include<time.h>

void main()
{
    time_t t;
    time(&t);
    printf("\n current time is : %s",ctime(&t));
}
8
guneet

mit dieser Funktion können Sie die aktuelle Ortszeit abrufen. Wenn Sie gmtime möchten, verwenden Sie die Funktion gmtime anstelle von localtime. Prost

time_t my_time;
struct tm * timeinfo; 
time (&my_time);
timeinfo = localtime (&my_time);
CCLog("year->%d",timeinfo->tm_year+1900);
CCLog("month->%d",timeinfo->tm_mon+1);
CCLog("date->%d",timeinfo->tm_mday);
CCLog("hour->%d",timeinfo->tm_hour);
CCLog("minutes->%d",timeinfo->tm_min);
CCLog("seconds->%d",timeinfo->tm_sec);
6
Shauket Sheikh
#include <stdio.h>
#include <time.h>

void main()
{
    time_t t;
    time(&t);
    clrscr();

    printf("Today's date and time : %s",ctime(&t));
    getch();
}
1
user309026