473,503 Members | 1,633 Online
Bytes | Software Development & Data Engineering Community
+ Post

Home Posts Topics Members FAQ

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 2523
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 thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

6
2640
by: Gerry Viator | last post by:
Hi all, I have a textbox were a time is typed in like: upto 4 numbers 1900 300 1000 1425 I would like as they type the text to show todays date plus the time they
2
5199
by: androtech | last post by:
Hello, I'm looking for a function that returns a date range for a specified week number of the year. I'm not able to find functions like this anywhere. Any pointers/help would be much...
1
2114
by: Liz Kegel | last post by:
I support an application where the primary key is a Date-Time Stamp. When we converted from NEON to DB2 Connect, we were able to get the update to work by setting the PATCH1 code to 131201...
7
4067
by: Brett Edman | last post by:
I created a UTC clock using this: UTCTime = MyTime.ToUniversalTime() Now that we've turned the clocks ahead 1 hour for daylight savings time, the clock is reporting the wrong UTC time. It is...
0
1105
by: Laura K | last post by:
I am working with a shopping cart (I am suing a book). At this point I am trying to add the cartID, the productID, quantity and time. At the same time it is supposed to add a cookie. When I...
6
12524
by: Luvin lunch | last post by:
Hi, I'm new to access and am very wary of dates as I have limited experience in their manipulation and I know if they're not done properly things can turn ugly quickly. I would like to use a...
3
3274
by: Jim in Arizona | last post by:
I have a gridview that's being populated from an access db query. The problem I'm having is that the date/time fields in access that are populating the gridview are showing both date and time, when...
5
3200
by: adie | last post by:
hi, can anyone help me out with this. the requirement is to display a time (any time) from a distinct timezone (lets say EST) on a webpage but to make available the conversion to the user local...
11
5554
by: xenoix | last post by:
hey there, im reasonably new to C# and im currently writing a backup application which im using as a learning resource. My PC :- Visual Studio 2005 .NET Framework 2 Component Factory Krypton...
0
7202
marktang
by: marktang | last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However,...
0
7086
by: Hystou | last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can...
0
7332
jinu1996
by: jinu1996 | last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven...
0
7462
tracyyun
by: tracyyun | last post by:
Dear forum friends, With the development of smart home technology, a variety of wireless communication protocols have appeared on the market, such as Zigbee, Z-Wave, Wi-Fi, Bluetooth, etc. Each...
0
5578
agi2029
by: agi2029 | last post by:
Let's talk about the concept of autonomous AI software engineers and no-code agents. These AIs are designed to manage the entire lifecycle of a software development project—planning, coding, testing,...
0
4673
by: conductexam | last post by:
I have .net C# application in which I am extracting data from word file and save it in database particularly. To store word all data as it is I am converting the whole word file firstly in HTML and...
0
3154
by: adsilva | last post by:
A Windows Forms form does not have the event Unload, like VB6. What one acts like?
0
1512
by: 6302768590 | last post by:
Hai team i want code for transfer the data from one system to another through IP address by using C# our system has to for every 5mins then we have to update the data what the data is updated ...
0
382
bsmnconsultancy
by: bsmnconsultancy | last post by:
In today's digital era, a well-designed website is crucial for businesses looking to succeed. Whether you're a small business owner or a large corporation in Toronto, having a strong online presence...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.