PHWinfo banniere

Titres
PORTAIL ANNUAIRE ARTICLES COMPARATEUR HÉBERGEURS DEVIS FORUMS RÉDUCTEUR D'URL
Précédent   PHWinfo > Autres forums > Forum Programmation & Conception > comp.lang.c > Taking Time and Date from System in C
S'inscrire FAQ Membres Recherche Messages du jour Marquer les forums comme lus
Taking Time and Date from System in C

Réponse
 
LinkBack Outils de la discussion
Vieux 09/05/2008, 19h59   #1
Tameem
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut Taking Time and Date from System in C

i am a new C programmer. i want to calculate someone's age. my input
would be his birth date. like : Date: 07
Month: 12
Year: 1988
and the program will take the current date from system and calculate
his age,
how can i do that in C. please inform me.
  Réponse avec citation
Vieux 09/05/2008, 20h11   #2
Morris Dovey
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut Re: Taking Time and Date from System in C

Tameem wrote:
> i am a new C programmer. i want to calculate someone's age. my input
> would be his birth date. like : Date: 07
> Month: 12
> Year: 1988
> and the program will take the current date from system and calculate
> his age,
> how can i do that in C. please inform me.


One way is to store those values into a struct tm and use mktime() to
convert to a time_t value, then pass that value and the current time to
difftime() to get the person's age in seconds. It's up to you to convert
that to whatever units (years, months, lunar cycles, etc) you want.

--
Morris Dovey
DeSoto Solar
DeSoto, Iowa USA
http://www.iedu.com/DeSoto/
  Réponse avec citation
Vieux 09/05/2008, 20h25   #3
Walter Roberson
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut Re: Taking Time and Date from System in C

In article <56273875-c731-45b3-8ce5-6334c66dc96b@a23g2000hsc.googlegroups.com>,
Tameem <etameem@gmail.com> wrote:
>i am a new C programmer. i want to calculate someone's age. my input
>would be his birth date. like : Date: 07
> Month: 12
> Year: 1988
>and the program will take the current date from system and calculate
>his age,


By the way, what do the specifications say should happen for
people born on February 29th? And are the "lost days" to be
taken into account (the various calendar reconciliations taken
into account) ?
--
"The art of storytelling is reaching its end because the epic
side of truth, wisdom, is dying out." -- Walter Benjamin
  Réponse avec citation
Vieux 09/05/2008, 20h26   #4
Flash Gordon
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut Re: Taking Time and Date from System in C

Tameem wrote, On 09/05/08 19:59:
> i am a new C programmer. i want to calculate someone's age. my input
> would be his birth date. like : Date: 07
> Month: 12
> Year: 1988
> and the program will take the current date from system and calculate
> his age,
> how can i do that in C. please inform me.


Provide a method for the user to provide input. My preference would be
using the command line, but you might be required to send prompts to
stdout and read input from stdin. Write some code to pass and validate
the input. Write some code find out the current date. Write some code to
find the difference between the two. C provides various library
functions to assist in these tasks.

If you are completely stuck then you should probably ask your tutor for
extra . Otherwise make an attempt and post it here.
--
Flash Gordon
  Réponse avec citation
Vieux 09/05/2008, 21h06   #5
Tameem
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut Re: Taking Time and Date from System in C

please tell me the program codes to add current date on C.
  Réponse avec citation
Vieux 09/05/2008, 21h17   #6
Morris Dovey
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut Re: Taking Time and Date from System in C

Tameem wrote:
> please tell me the program codes to add current date on C.


You can get the current date/time (together in a single value) as a
time_t by calling time().

You can then (if you want, but not needed for this problem) convert that
time_t to a struct tm using either localtime() or gmtime().

You'll need to look up time_t, struct tm, and all of the functions I've
mentioned to write your code. I won't write it for you, but if you have
difficulty and are willing to show that you've made a serious attempt to
produce the code, we'll you debug it here.

--
Morris Dovey
DeSoto Solar
DeSoto, Iowa USA
http://www.iedu.com/DeSoto/
  Réponse avec citation
Vieux 09/05/2008, 21h22   #7
jacob navia
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut Re: Taking Time and Date from System in C

Tameem wrote:
> please tell me the program codes to add current date on C.


/* LOCALTIM.C: This program uses time to get the current time
* and then uses localtime to convert this time to a structure
* representing the local time. The program converts the result
* from a 24-hour clock to a 12-hour clock and determines the
* proper extension (AM or PM).
*/

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

int main( void )
{
struct tm *newtime;
char am_pm[] = "AM";
time_t long_time;

time( &long_time ); /* Get time as long integer. */
newtime = localtime( &long_time ); /* Convert to local time. */

if( newtime->tm_hour > 12 ) /* Set up extension. */
strcpy( am_pm, "PM" );
if( newtime->tm_hour > 12 ) /* Convert from 24-hour */
newtime->tm_hour -= 12; /* to 12-hour clock. */
if( newtime->tm_hour == 0 ) /*Set hour to 12 if midnight. */
newtime->tm_hour = 12;

printf( "%.19s %s\n", asctime( newtime ), am_pm );
return 0;
}



--
jacob navia
jacob at jacob point remcomp point fr
logiciels/informatique
http://www.cs.virginia.edu/~lcc-win32
  Réponse avec citation
Vieux 09/05/2008, 21h36   #8
Richard Heathfield
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut Re: Taking Time and Date from System in C

jacob navia said:

> Tameem wrote:
>> please tell me the program codes to add current date on C.

>
> /* LOCALTIM.C: This program uses time to get the current time
> * and then uses localtime to convert this time to a structure
> * representing the local time. The program converts the result
> * from a 24-hour clock to a 12-hour clock and determines the
> * proper extension (AM or PM).
> */
>
> #include <stdio.h>
> #include <string.h>
> #include <time.h>
>
> int main( void )
> {
> struct tm *newtime;
> char am_pm[] = "AM";
> time_t long_time;
>
> time( &long_time ); /* Get time as long integer. */
> newtime = localtime( &long_time ); /* Convert to local time. */
>
> if( newtime->tm_hour > 12 ) /* Set up extension. */
> strcpy( am_pm, "PM" );
> if( newtime->tm_hour > 12 ) /* Convert from 24-hour */
> newtime->tm_hour -= 12; /* to 12-hour clock. */
> if( newtime->tm_hour == 0 ) /*Set hour to 12 if midnight. */
> newtime->tm_hour = 12;
>
> printf( "%.19s %s\n", asctime( newtime ), am_pm );
> return 0;
> }


Conceptually simpler (and making it much easier to customise the format),
but requiring an extra array:

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

int main(void)
{
char thetime[32] = {0};
time_t long_time = time(NULL);
struct tm *newtime = localtime(&long_time);
strftime(thetime, sizeof thetime, "%Y-%m-%d %I:%M:%S%p", newtime);
printf("%s\n", thetime);
return 0;
}

--
Richard Heathfield <http://www.cpax.org.uk>
Email: -http://www. +rjh@
Google users: <http://www.cpax.org.uk/prg/writings/googly.php>
"Usenet is a strange place" - dmr 29 July 1999
  Réponse avec citation
Réponse


Outils de la discussion

Règles de messages
Vous ne pouvez pas créer de nouvelles discussions
Vous ne pouvez pas envoyer des réponses
Vous ne pouvez pas envoyer des pièces jointes
Vous ne pouvez pas modifier vos messages

Les balises BB sont activées : oui
Les smileys sont activés : oui
La balise [IMG] est activée : oui
Le code HTML peut être employé : non
Trackbacks are oui
Pingbacks are oui
Refbacks are oui


Fuseau horaire GMT +1. Il est actuellement 07h10.


Édité par : vBulletin® version 3.7.3
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
Search Engine Friendly URLs by vBSEO 3.2.0 RC5 Tous droits réservés.
Version française #16 par l'association vBulletin francophone
PHWinfo est un site Éducation Sans Frontières ©2000-2008
Ad Management by RedTyger
©Tous droits réservés par les parties respectives
Page generated in 0,15057 seconds with 16 queries