# Récupérer la date et l'heure système

**URL:** <https://www.debian-fr.org/t/recuperer-la-date-et-lheure-systeme/23941>\
**Category:** Programmation\
**Created:** [Février 20, 2016, 9:14 UTC](https://www.debian-fr.org/t/recuperer-la-date-et-lheure-systeme/23941 "2016-02-20T21:14:17Z")\
**Posts on this page:** 6\
**Page:** 2

<div class="post-metadata">

**Author:** ![linux78](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/l/9fc29f/32.png) [@linux78](https://www.debian-fr.org/u/linux78)\
**Post date:** [Février 20, 2016, 9:14 UTC](https://www.debian-fr.org/t/recuperer-la-date-et-lheure-systeme/23941/21 "2016-02-20T21:14:33Z")

</div>

timeval est une structure que Code::Blocks reconnaît et qui est dans sys/time.h mais le compilateur ne l’a pas reconnue.  
Voilà le log de la compilation:  
C:\Documents and Settings\Matthias BERNIER\Mes documents\Projet C\Projet\Skipper\Suppl\_Functions.c||In function `Recuperation_Date_Heure':| C:\Documents and Settings\Matthias BERNIER\Mes documents\Projet C\Projet\Skipper\Suppl_Functions.c|38|error:`timeval’ undeclared (first use in this function)|  
C:\Documents and Settings\Matthias BERNIER\Mes documents\Projet C\Projet\Skipper\Suppl\_Functions.c|38|error: (Each undeclared identifier is reported only once|  
C:\Documents and Settings\Matthias BERNIER\Mes documents\Projet C\Projet\Skipper\Suppl\_Functions.c|38|error: for each function it appears in.)|  
C:\Documents and Settings\Matthias BERNIER\Mes documents\Projet C\Projet\Skipper\Suppl\_Functions.c|38|error: syntax error before “Time”|  
C:\Documents and Settings\Matthias BERNIER\Mes documents\Projet C\Projet\Skipper\Suppl\_Functions.c|39|error: `Time’ undeclared (first use in this function)|  
||=== Build finished: 5 errors, 0 warnings ===|

---

<div class="post-metadata">

**Author:** ![Tycho\_Brahe](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/t/ec9cab/32.png) [@Tycho\_Brahe](https://www.debian-fr.org/u/Tycho_Brahe)\
**Post date:** [Février 20, 2016, 9:14 UTC](https://www.debian-fr.org/t/recuperer-la-date-et-lheure-systeme/23941/22 "2016-02-20T21:14:43Z")

</div>

> [@](#):
>
> Tu n’as pas un équivalent windows pour gettimeofday ?

Un petit coup de google donne ceci :  
[http://www.cpp-programming.net/c-tidbits/gettimeofday-function-for-windows/](http://www.cpp-programming.net/c-tidbits/gettimeofday-function-for-windows/)

---

<div class="post-metadata">

**Author:** ![Dixippe](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/d/5f8ce5/32.png) [@Dixippe](https://www.debian-fr.org/u/Dixippe)\
**Post date:** [Février 20, 2016, 9:14 UTC](https://www.debian-fr.org/t/recuperer-la-date-et-lheure-systeme/23941/23 "2016-02-20T21:14:52Z")

</div>

exemple ‘date\_heure.c’:

```auto
#include <stdio.h>
#include <stdlib.h>
#include <time.h>

int
main ( int argc, char *argv[] )
{
	time_t my_time;

	if (time (&my_time) == -1)
	{
		perror("time()");
		return EXIT_FAILURE;
	}

	printf("%s\n", asctime( localtime( &my_time)));
	return EXIT_SUCCESS;
}	
```

la compile et l’exe:

```auto
$make date_heure
gcc -lrt date_heure.o -o date_heure
$ ./date_heure 
Thu Dec 24 15:38:10 2009
```

il faut lier le code par la librt en faisant: -lrt quelque part dans codeblock.

En espérant que cela puisse t’aider… :smt111

---

<div class="post-metadata">

**Author:** ![linux78](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/l/9fc29f/32.png) [@linux78](https://www.debian-fr.org/u/linux78)\
**Post date:** [Février 20, 2016, 9:14 UTC](https://www.debian-fr.org/t/recuperer-la-date-et-lheure-systeme/23941/24 "2016-02-20T21:14:53Z")

</div>

Merci.  
Je vais la tester dans le programme dès que j’aurais programmé la fonction qui nécessitera son utilisation.  
Par contre, j’ai deux questions:

1. Dans quel type de variable pourrais-je stocker la date renvoyée par ta fonction?
2. Existe t-il une fonction retournant uniquement l’heure système?  
 ![:smt114](https://www.debian-fr.org/uploads/default/original/1X/59912b0b680868015ba2afb82b3d05590e9739e4.gif)

---

<div class="post-metadata">

**Author:** ![Dixippe](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/d/5f8ce5/32.png) [@Dixippe](https://www.debian-fr.org/u/Dixippe)\
**Post date:** [Février 20, 2016, 9:16 UTC](https://www.debian-fr.org/t/recuperer-la-date-et-lheure-systeme/23941/25 "2016-02-20T21:16:12Z")

</div>

```auto
#include <stdio.h>
#include <stdlib.h>
#include <time.h>

int
main ( int argc, char *argv[] )
{
	time_t my_time;
	struct tm *mon_temps;

	if (time (&my_time) == -1)
	{
		perror("time()");
		return EXIT_FAILURE;
	}

	mon_temps = localtime(&my_time);
	printf("Mes secondes:%d\n", mon_temps->tm_sec);
	printf("Mes minutes:%d\n", mon_temps->tm_min);
	printf("Mes heures:%d\n", mon_temps->tm_hour);
    
	printf("%s\n", asctime( mon_temps));
	return EXIT_SUCCESS;
}	
```

résultat:

```auto
$ ./date_heure 
Mes secondes:25
Mes minutes:20
Mes heures:18
Tue Dec 29 18:20:25 2009
```

puisque tu as l’air largué, je fais même pour toi le man:

man localtime:

```auto
CTIME(3) Manuel du programmeur Linux CTIME(3)

NOM
       asctime, ctime, gmtime, localtime, mktime, asctime_r, ctime_r,
       gmtime_r, localtime_r - Convertir des dates et des temps au format
       année/mois/jours ou au format ASCII

SYNOPSIS
       #include <time.h>

       char *asctime(const struct tm *tm);
       char *asctime_r(const struct tm *tm, char *buf);

       char *ctime(const time_t *timep);
       char *ctime_r(const time_t *timep, char *buf);

       struct tm *gmtime(const time_t *timep);
       struct tm *gmtime_r(const time_t *timep, struct tm *result);

       struct tm *localtime(const time_t *timep);
       struct tm *localtime_r(const time_t *timep, struct tm *result);

       time_t mktime(struct tm *tm);

...
       La représentation humaine (« broken-down time ») est stockée dans une
       structure tm, définie dans <time.h> comme suit :

           struct tm {
               int tm_sec; /* secondes */
               int tm_min; /* minutes */
               int tm_hour; /* heures */
               int tm_mday; /* jour du mois */
               int tm_mon; /* mois */
               int tm_year; /* année */
               int tm_wday; /* jour de la semaine */
               int tm_yday; /* jour de l’année */
               int tm_isdst; /* décalage horaire */
           };
...
VOIR AUSSI
       date(1), gettimeofday(2), time(2), utime(2), clock(3), difftime(3),
       strftime(3), strptime(3), timegm(3), tzset(3), time(7)

...
```

:smt111

---

<div class="post-metadata">

**Author:** ![linux78](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/l/9fc29f/32.png) [@linux78](https://www.debian-fr.org/u/linux78)\
**Post date:** [Février 20, 2016, 9:16 UTC](https://www.debian-fr.org/t/recuperer-la-date-et-lheure-systeme/23941/26 "2016-02-20T21:16:25Z")

</div>

Merci.

[Page précédente](https://www.debian-fr.org/t/recuperer-la-date-et-lheure-systeme/23941.md?page=1)
