Asctime (represents the time and date in string format)
#include<time.h>
Define functions
char * asctime(const struct tm * timeptr);
Function Description
Asctime () converts the information in the TM structure referred to by the timeptr parameter to the time and date representation method used in the real world, and then returns the result in string form. This function has been converted from the time zone to the local time. The string format is "wed Jun 30 21:49:08 1993 \ n"
Return Value
If you call the related time and date functions again, this string may be damaged. The difference between this function and ctime is that the input parameters are different structures.
Additional instructions
Returns a string representing the current local time and date.
Example
#include <time.h>
main()
{
time_t timep;
time (&timep);
printf(“%s”,asctime(gmtime(&timep)));
}
Run
Sat Oct 28 02:10:06 2000
//--------------------------------------------------------------------------------------------------------------------------------------------------------//
Ctime (Representation of time and date in string format)
Header file
#include<time.h>
Define functions
char *ctime(const time_t *timep);
Function Description
Ctime () converts the information in the time_t structure referred to by the timep parameter to the time and date representation method used in the real world, and then returns the result in string form. This function has been converted from the time zone to the local time. The string format is "wed Jun 30 21: 49: 08 1993 \ n ". If you call the related time and date functions again, this string may be damaged.
Return Value
Returns a string representing the current local time and date.
Example
#include<time.h>
main()
{
time_t timep;
time (&timep);
printf(“%s”,ctime(&timep));
}
Run
Sat Oct 28 10 : 12 : 05 2000
//--------------------------------------------------------------------------------------------------------------------------------------------------------//
Gettimeofday (get current time)
Header file
#include <sys/time.h>
#include <unistd.h>
Define functions
int gettimeofday ( struct timeval * tv , struct timezone * tz )
Function Description
Gettimeofday () will return the current time with the structure indicated by TV, and put the information of the local time zone in the structure indicated by tz.
The timeval structure is defined:
Struct timeval {
Long TV _sec;/* seconds */
Long TV _usec;/* microseconds */
};
The timezone structure is defined:
Struct timezone {
Int tz_minuteswest;/* the time difference between Greenwich and */
Int tz_dsttime;/* state of daylight saving time */
};
The above two structures are defined in/usr/include/sys/time. h. The status of tz_dsttime is as follows:
Dst_none/* not used */
Dst_usa/* United States */
Dst_aust/* Australia */
Dst_wet/* Western Europe */
Dst_met/* Central Europe */
Dst_eet/* Eastern Europe */
Dst_can/* Canada */
Dst_gb/* Great Britain */
Dst_rum/* Romania */
Dst_tur/* Turkey */
Dst_austalt/* Australia (after January 1, 1986 )*/
Return Value
If the call succeeds, 0 is returned. If the call fails,-1 is returned. The error code is stored in errno. Note that the memory space specified by the efault pointer TV and TZ exceeds the access permission.
Example
#include<sys/time.h>
#include<unistd.h>
main(){
struct timeval tv;
struct timezone tz;
gettimeofday (&tv , &tz);
printf(“tv_sec; %d\n”, tv,.tv_sec) ;
printf(“tv_usec; %d\n”,tv.tv_usec);
printf(“tz_minuteswest; %d\n”, tz.tz_minuteswest);
printf(“tz_dsttime, %d\n”,tz.tz_dsttime);
}
Run
tv_sec: 974857339
tv_usec:136996
tz_minuteswest:-540
tz_dsttime:0
//--------------------------------------------------------------------------------------------------------------------------------------------------------//
Gmtime (get current time and date)
Header file
#include<time.h>
Define functions
struct tm*gmtime(const time_t*timep);
Function Description
Gmtime () converts the information in the time_t structure referred to by the timep parameter to the time and date representation method used in the real world, and then returns the result from the structure TM.
The structure TM is defined
Struct TM
{
Int tm_sec;
Int tm_min;
Int tm_hour;
Int tm_mday;
Int tm_mon;
Int tm_year;
Int tm_wday;
Int tm_yday;
Int tm_isdst;
};
Int tm_sec indicates the current number of seconds. The normal range is 0-59, but the value can be 61 seconds.
Int tm_min indicates the current score, range: 0-59
Int tm_hour, which is counted from midnight, ranges from 0 to 23.
The number of days in the current month of int tm_mday, ranging from 01 to 31.
Int tm_mon indicates the current month. The value ranges from 0 to 11 from January 1, January.
Int tm_year: The number of years since January 1, 1900
The number of days in a week for int tm_wday. The value ranges from 0 to 6 from Monday.
Int tm_yday indicates the number of days since January 1, January 1 this year. The value range is 0-365.
Int tm_isdst time saving flag
The time and date returned by this function are not converted by the time zone, but UTC time.
Return Value
The returned structure TM indicates the current UTC time.
Example
#include <time.h>
main(){
char *wday[]={"Sun","Mon","Tue","Wed","Thu","Fri","Sat"};
time_t timep;
struct tm *p;
time(&timep);
p=gmtime(&timep);
printf(“%d%d%d”,(1900+p->tm_year), (1+p->tm_mon),p->tm_mday);
printf(“%s%d;%d;%d\n”, wday[p->tm_wday], p->tm_hour, p->tm_min, p->tm_sec);
}
Run
2000/10/28 Sat 8:15:38
//--------------------------------------------------------------------------------------------------------------------------------------------------------//
Localtime (obtain the current local time and date)
Header file
#include<time.h>
Define functions
struct tm *localtime(const time_t * timep);
Function Description
Localtime () converts the information in the time_t structure referred to by the timep parameter to the time and date representation method used in the real world, and then returns the result from the TM structure. For the definition of the structure TM, see gmtime (). The time date returned by this function has been converted to the local time zone.
Return Value
The returned structure TM indicates the current local time.
Example
# Include <time. h>
Main (){
Char * wday [] = {"Sun", "mon", "Tue", "wed", "Thu", "Fri", "sat "};
Time_t timep;
Struct TM * P;
Time (& timep );
P = localtime (& timep);/* obtain the local time */
Printf ("% d", (1900 + P-> tm_year), (L + P-> tm_mon), p-> tm_mday );
Printf ("% S % d: % d \ n", wday [p-> tm_wday], p-> tm_hour, p-> tm_min, p-> tm_sec );
}
Run
2000/10/28 Sat 11:12:22
//--------------------------------------------------------------------------------------------------------------------------------------------------------//
Mktime (the number of seconds after the time structure data is converted)
Header file
#include<time.h>
Define functions
time_t mktime(strcut tm * timeptr);
Function Description
Mktime () is used to convert the TM structure data referred to by the timeptr parameter to the number of seconds that have elapsed since 00:00:00, January 1, January 1, 1970 AD.
Return Value
Returns the number of seconds that have elapsed.
Example
/* Obtain the time (in seconds) with time (), and use localtime ()
Convert to struct TM and then use mktine () to convert struct TM to the original number of seconds */
# Include <time. h>
Main ()
{
Time_t timep;
Strcut TM * P;
Time (& timep );
Printf ("Time (): % d \ n", timep );
P = localtime (& timep );
Timep = mktime (P );
Printf ("Time ()-> localtime ()-> mktime (): % d \ n", timep );
}
Run
time():974943297
time()->localtime()->mktime():974943297
//--------------------------------------------------------------------------------------------------------------------------------------------------------//
Settimeofday (set the current time)
Header file
#include<sys/time.h>
#include<unistd.h>
Define functions
int settimeofday ( const struct timeval *tv,const struct timezone *tz);
Function Description
Settimeofday () sets the current time to the structure information indicated by TV, and the local time zone information to the structure indicated by tz. For more information, see gettimeofday (). Note: Only the root permission can use this function to modify the time.
Return Value
If the call succeeds, 0 is returned. If the call fails,-1 is returned. The error code is stored in errno.
Error Code
The root permission of eperm is not enough to call settimeofday.
The einval time zone or data is incorrect and the time cannot be set correctly.
//--------------------------------------------------------------------------------------------------------------------------------------------------------//
Time (obtain the current time)
Header file
#include<time.h>
Define functions
time_t time(time_t *t);
Function Description
This function returns the number of seconds that have elapsed since January 1, 1970 ad utc time since 00:00:00. If t is not a null pointer, this function also saves the returned value to the memory indicated by T pointer.
Return Value
The number of seconds is returned for success, and (time_t)-1) is returned for failure. The cause of the error is stored in errno.
Example
#include<time.h>
mian()
{
int seconds= time((time_t*)NULL);
printf(“%d\n”,seconds);
}
Time, ctime, gmtime, localtime