470,815 Members | 1,335 Online
Bytes | Developer Community
New Post

Home Posts Topics Members FAQ

Post your question to a community of 470,815 developers. It's quick & easy.

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.
Jun 27 '08 #1
7 2355
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/
Jun 27 '08 #2
In article <56**********************************@a23g2000hsc. googlegroups.com>,
Tameem <et*****@gmail.comwrote:
>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
Jun 27 '08 #3
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 help. Otherwise make an attempt and post it here.
--
Flash Gordon
Jun 27 '08 #4
please tell me the program codes to add current date on C.
Jun 27 '08 #5
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 help you debug it here.

--
Morris Dovey
DeSoto Solar
DeSoto, Iowa USA
http://www.iedu.com/DeSoto/
Jun 27 '08 #6
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
Jun 27 '08 #7
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
Jun 27 '08 #8

This discussion thread is closed

Replies have been disabled for this discussion.

Similar topics

6 posts views Thread by Gerry Viator | last post: by
2 posts views Thread by androtech | last post: by
1 post views Thread by Liz Kegel | last post: by
7 posts views Thread by Brett Edman | last post: by
reply views Thread by Laura K | last post: by
11 posts views Thread by xenoix | last post: by
reply views Thread by mihailmihai484 | last post: by
By using this site, you agree to our Privacy Policy and Terms of Use.