WICHTIG Datum und Uhrzeit

shader09

Erfahrenes Mitglied
Hallöchen,

Hier das Problem;

Code:
static CString GetDatumZeitSystem()
{
  SYSTEMTIME systemTime;
  TCHAR gDatum[64] = {TEXT("\0")};
  TCHAR gZeit[64] = {TEXT("\0")};
  TCHAR gDatumZeit [128] = {TEXT("\0")};

  ::GetLocalTime(&systemTime);
  WORD wYear = (WORD) *(((BYTE*)&systemTime.wYear+1));				
  _stprintf(gDatum, TEXT("%04d%02d%02d"), //Art der Datumsanzeige
        systemTime.wYear,systemTime.wMonth,systemTime.wDay);
  _stprintf(gZeit, TEXT("%02d%02d%02d"), //Art der Zeitanzeige
         systemTime.wHour, systemTime.wMinute, systemTime.wSecond);
  _tcscpy(gDatumZeit, gDatum); // Kopiert Variable gDatum nach Variable gDatumZeit...
  _tcscat(gDatumZeit, gZeit); // Hängt Variable gZeit an Variable gDatumZeit an...

  return gDatumZeit;
}



Ich lasse mir damit das Datum und die Zeit ausgeben, nur ich bräuchte es vom Datentyp char oder char*. Kann ich das umbauen das es char/char* ist!? Ist ziemlich wichtig, bin jedem sehr dankbar der mir hilft. Danke
 
Hab grad im inet die time.h gefunden, könnte mir vielleicht jemand erklären wie das mit der geht!? Bin noch nicht so gut in C++
 
also ich hab das Datum und die Zeit so immer ausgelesen:

Header:
windows.h

für die Zeit

char time[15];
GetTimeFormat(0x409,0,0,"HH:mm:ss",time,15);

und für das Datum

char date[30]
GetDateFormat(0x409,0,0,"dddddddd dd MMM yyyy",date,30);

ich hoffe es hilft
 
Oh krass vielen Dank.
Jetzt kommt aber dieser Fehler;

Code:
error C2664: 'GetTimeFormatW' : cannot convert parameter 4 from 'char [16]' to 'const unsigned short *'

in der Hilfe nachgeschaut. Da steht als Beispiel;

Code:
For example, to get the time string "11:29:40 PM", use the following picture string: "hh':'mm':'ss tt"

Hab ich auch gemacht, aber es funktioniert auch nicht. Ich könnt so heulen
 
Wenn ich es jetzt so mache;
Code:
GetTimeFormat(0x409,0,0,(const unsigned short*)"HH:mm:ss",(unsigned short*)time,15);

steht in der Variable time = HH:mm:ss drinne.
Warum bitteschön das!?
 
seltsam...

mit was programierst du, ich mit dev-C++ 4.9.9.2

ich hab bei mir noch mal getestet, aber es geht, hier is mein Code:

#include <iostream>
#include <windows.h>

using namespace std;

int main(int argc, char *argv[])
{
char time[15],date[30];

GetTimeFormat(0x409,0,0,"HH:mm:ss",time,15);
GetDateFormat(0x409,0,0,"dddddddd dd MMM yyyy",date,30);

cout<<"Datum: "<<date<<endl;
cout<<"Zeit: "<<time<<endl;

system("PAUSE");
return EXIT_SUCCESS;
}
das was bei mir ausgegeben wird hab ich als anhang
 

Anhänge

  • bsp.JPG
    bsp.JPG
    16,1 KB · Aufrufe: 36
Mhhh also bei mir funktioniert es:
C++:
#include <stdio.h>
#include <windows.h>

int main(void)
{
	char time[15];
	GetTimeFormat(0x409,0,0,"hh':'mm':'ss tt" /*"HH:mm:ss"*/,time,15);

	printf("%s", time);
}

Zur Not kannst du auch dies verwenden:
C++:
#include <stdio.h>
#include <time.h>

int main(void)
{
	char szBuffer[256];
	struct tm* current_tm;
	time_t current_time;
	time(&current_time);
	current_tm = localtime(&current_time);
	sprintf(szBuffer, "%02d:%02d:%02d",
		current_tm->tm_hour,
		current_tm->tm_min,
		current_tm->tm_sec
	);

	printf("%s", szBuffer);
}

Gruß
 
Zuletzt bearbeitet von einem Moderator:
Schön das ihr mir helfen tut*g*
Ich benutze eMbedded Visual C++ 4.0.

Werde dann morgen die Codes mal ausprobieren, hoffe dochmal das die dann endlich funktionieren. Vielen Dank an euch für die mühe.
 
Guten morgen,
also habs mal ausprobiert. Das kommt bei dem Code;

Code:
void CDateDlg::OnButton1() 
{
    char szBuffer[256];
    struct tm* current_tm;
    time_t current_time;
    time(&current_time);
    current_tm = localtime(&current_time);
    sprintf(szBuffer, "%02d:%02d:%02d",
        current_tm->tm_hour,
        current_tm->tm_min,
        current_tm->tm_sec
    );
    printf("%s", szBuffer);	
}

error C2065: 'time' : undeclared identifier
error C2065: 'localtime' : undeclared identifier
error C2440: '=' : cannot convert from 'int' to 'struct tm *'


Code:
      void CDateDlg::OnButton1() 
      {
          char time[15];
          GetTimeFormat(0x409,0,0,(const unsigned short*)"hh':'mm':'ss tt" /*"HH:mm:ss"*/,(unsigned short*)time,15);
          printf("%s", time);
      }

Hier bekomme ich nur in der Konsole folgenden Text angezeigt;
hh':'mm':'ss tA
 
Zurück