Files
svc.ems/plat/public/src/pub_time.c
2024-09-27 15:39:34 +08:00

131 lines
3.3 KiB
C

//////////////////////////////////////////////////
//Title : pub_time.c
//Auhtor : Liu Wei
//Desc : Linux time function
//Created : 2007-06-02
//Revision :
//
//Revision :
//
//////////////////////////////////////////////////
#include "./include/pub_time.h"
/*@ignore@*/
///////////////////////////////////////////////////////////////////////////
// Name : GetTickCount
// Function: return the ms value of the time
// Note :
///////////////////////////////////////////////////////////////////////////
extern long GetTickCount()
{
struct timeval tv;
gettimeofday(&tv, NULL);
return (tv.tv_sec * 1000) + (tv.tv_usec / 1000);
}
///////////////////////////////////////////////////////////////////////////
// Name : GetCurrentTime
// Function: get current system time(BcdFormate)
// Note : now_time's length is 6: year,month,day,hour,minute,second
// Return : 1 successful 0 fail
///////////////////////////////////////////////////////////////////////////
extern int GetCurrentTime( u8 *pNowTime )
{
struct tm *pTMNowTime;
time_t tTemptime;
tTemptime = time(NULL);
pTMNowTime = localtime(&tTemptime);
if( pTMNowTime == NULL )
return 0;
pNowTime[0] = pTMNowTime->tm_year-100;
pNowTime[1] = pTMNowTime->tm_mon+1;
pNowTime[2] = pTMNowTime->tm_mday;
pNowTime[3] = pTMNowTime->tm_hour;
pNowTime[4] = pTMNowTime->tm_min;
pNowTime[5] = pTMNowTime->tm_sec;
return 1;
}
///////////////////////////////////////////////////////////////////////////
// Name : GetCurrentTime
// Function: get current system time in ASCII format
// Note :
///////////////////////////////////////////////////////////////////////////
extern char *GetAsciiTime()
{
char *pAscTime;
time_t tCurTime;
tCurTime = time(NULL);
pAscTime = ctime(&tCurTime);
return (char *)pAscTime;
}
char *TimeToStr ( time_t TimeVal, char *Format )
{
struct tm *tm;
static char sBuff[128];
char *String;
char *pCh;
char *Fmt;
if ( Format != NULL)
{
Fmt = Format;
}
else
{
//Use %H instead of %k as %H is more portable
Fmt = "%a %b %e %H:%M:%S %Y %Z";
}
tm = localtime ( &TimeVal );
if ( NULL != tm )
{
String = asctime ( tm );
if ( NULL != String )
{
pCh = strchr ( String, '\n' );
if ( NULL != pCh )
{
*pCh = CNULL;
}
return String;
}
}
FLogMsg ( PIF_DBG, "TimeToStr() failed - No conversion func defined?" );
return ( char * ) NULL;
}
///////////////////////////////////////////////////////////////////////////
// Name : GetTimeHMS
// Function: get current system time string of hour mininute and second
// Note :
///////////////////////////////////////////////////////////////////////////
extern char *GetTimeHMS(char *pTimeBuf)
{
struct tm *pTM,tTM;
long lCurTime;
pTM = &tTM;
lCurTime = time((long *)0);
pTM = localtime(&lCurTime);
sprintf(pTimeBuf,"%02d:%02d:%02d",pTM->tm_hour,pTM->tm_min,pTM->tm_sec);
pTimeBuf[8] = CNULL;
return pTimeBuf;
}
/*@end@*/