Visualizzazione dei risultati da 1 a 4 su 4

Discussione: [C] Ancora time.h !

  1. #1

    [C] Ancora time.h !

    Salve a tutti!
    Tempo fa ho scritto la seguente funzione per prelevare la data di sistema:

    codice:
    int readDate(int id)
    {
    	time_t date;
    	struct tm * brokendown=NULL;
            char * readableDate=NULL;
    	
    	time(&date);  //Lettura della data
        
            //Converto il calendar time dato in formato time_t 
    	//in un broken-down time.
    	
    	brokendown=localtime(&date);
    	readableDate=asctime(brokendown); //Memorizzo la data in un formato leggibile!
    
    	switch(id) {
    
    	          case 1: return brokendown->tm_mday;  
    			     
    
    		  case 2: return brokendown->tm_mon;
    			     
    
    		  case 3: return brokendown->tm_year;
    			      
    
    		  case 4: printf("%s", readableDate);
                      break;
    	}
    
    	return -1;
    }
    Ultimamente mi sono accorto che ha qualche problemino!
    Mi spiego meglio: la chiamata readDate(3) invece di ritornare come anno "2005" ritorna "105". Come mai?

    Qualcuno ha una soluzione? Plz!


  2. #2
    Utente di HTML.it L'avatar di cso
    Registrato dal
    Aug 2004
    Messaggi
    2,050
    Sottrai 100 e aggiungi 2000

  3. #3
    Utente di HTML.it L'avatar di anx721
    Registrato dal
    Apr 2003
    Messaggi
    2,352
    l'anno viene memorizzato come numero di anni a partire dal 1900

    Sun Certified Java Programmer

    EUCIP Core Level Certified

    European Certification of Informatics Professionals

  4. #4
    l'anno viene memorizzato come numero di anni a partire dal 1900
    Pensavo che ci pensasse direttamente la funzione localtime() a restituire la data corretta, cosa che fa la funzione asctime()!
    Cmq grazie per la risposta!

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.