PDA

Visualizza la versione completa : [C++] conoscere data


Salvatore_91
09-11-2009, 15:55
Salve raga ho questa funzione:


void data()
{
char dest[70];
int ch;
time_t temp;
struct tm *timeptr;

temp = time(NULL);
timeptr = localtime(&temp);
ch = strftime(dest,sizeof(dest)-1,"Today is %A,"
" %d %b. \n Time: %I:%M %p", timeptr);
printf("%d characters placed in string to make: \n \n %s", ch, dest);
}


I pero vorrei che essa, mi restituisca solo il giorno mese e anno.

come devo fare?

Salvatore_91
09-11-2009, 18:01
risolto da solo:


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

using namespace std;



main()
{
time_t tempo;
struct tm *data;

tempo = time(NULL);
data = localtime(&tempo);
cout << data->tm_mday << "/";
cout << data->tm_mon << "/";
cout << data->tm_year + 1900;
getchar();
}

Salvatore_91
10-11-2009, 15:55
uhao raga, non mi ero accorto di una cosa.

eseguendo il programma, mi sbaglia il mese,
infatti oggi stampa:
10/10/09

invece di
10/11/09

sapete aiutarmi?


# include <iostream>
# include <cstdio>
# include <ctime>
# include <iomanip>

using namespace std;

int main()
{
time_t tempo;
struct tm *data;

tempo = time(NULL);
data = localtime(&tempo);

cout << setfill('0');
cout << setw(2) << data->tm_mday << "/";
cout << setw(2) << data->tm_mon << "/";
cout << setw(2) << data->tm_year%100 << endl;

getchar();
}

oregon
10-11-2009, 16:27
Si programma leggendo la documentazione, non facendo copia-incolla ...

Leggi quello che riguarda le informazioni del mese per la struttura tm, ovvero quello che c'e' scritto in

http://www.cplusplus.com/reference/clibrary/ctime/tm/

per quanto riguarda l'elemento tm_mon

Salvatore_91
10-11-2009, 16:31
hai ragione,
i mesi partono da 0

oregon
10-11-2009, 17:18
Originariamente inviato da Salvatore_91
hai ragione,
i mesi partono da 0

Vedi ... ? Hai risolto da solo il tuo problema ...

Loading