Return Type | Function name | Arguments |
---|---|---|
const char* | hzXDate::Txt | (hzDateFmt,) |
Declared in file: hzDate.h
Defined in file : hzDate.cpp
Function Logic:
Function body:
const char* hzXDate::Txt (hzDateFmt eFmt) { _hzfunc("hzXDate::Txt") ; char* pBuf ; bool bUS ; bool bFN ; int32_t nSofar = 0; if (!m_hour && !m_usec) return 0; pBuf = _thisfn.ScratchPad(32); if (eFmt == FMT_DT_INET) { if (bUS) sprintf(pBuf, "%s %s %d %04d %02d:%02d:%02d +0000 (GMT)", hz_daynames_abrv[Dow()], hz_monthnames_abrv[Month() - 1],Day(), Year(), Hour(), Min(), Sec()) ; else sprintf(pBuf, "%s %d %s %04d %02d:%02d:%02d +0000 (GMT)", hz_daynames_abrv[Dow()], Day(), hz_monthnames_abrv[Month() - 1],Year(), Hour(), Min(), Sec()) ; return pBuf ; } bUS = eFmt & FMT_DATE_USA ? true : false ; bFN = eFmt & FMT_DATE_FULL ? true : false ; if (eFmt & FMT_DATE_DOW) { if (bFN) strcpy(pBuf, hz_daynames_full[Dow()]) ; else strcpy(pBuf, hz_daynames_abrv[Dow()]) ; nSofar = strlen(pBuf) ; } if (eFmt & FMT_DT_MASK_DATES) { if (nSofar) { pBuf[nSofar] = CHAR_SPACE ; nSofar++ ; } switch (eFmt & FMT_DT_MASK_DATES) { case FMT_DATE_DFLT: nSofar += sprintf(pBuf + nSofar, "%04d%02d%02d", Year(), Month(), Day()); break ; case FMT_DATE_STD: nSofar += sprintf(pBuf + nSofar, "%04d/%02d/%02d", Year(), Month(), Day()); break ; case FMT_DATE_NORM: if (bUS) nSofar += sprintf(pBuf + nSofar, "%02d/%02d/%04d", Month(), Day(), Year()) ; else nSofar += sprintf(pBuf + nSofar, "%02d/%02d/%04d", Day(), Month(), Year()) ; break ; case FMT_DATE_FULL: if (bUS) nSofar += sprintf(pBuf + nSofar, "%s %d %04d", hz_monthnames_abrv[Month() - 1],Day(), Year()) ; else nSofar += sprintf(pBuf + nSofar, "%d %s %04d", Day(), hz_monthnames_abrv[Month() - 1],Year()) ; break ; } } if (eFmt & FMT_DT_MASK_TIMES) { if (nSofar) { pBuf[nSofar] = CHAR_MINUS ; nSofar++ ; } switch (eFmt & FMT_DT_MASK_TIMES) { case FMT_TIME_DFLT: // Time HHMMSS nSofar += sprintf(pBuf + nSofar, "%02d%02d%02d", Hour(), Min(), Sec()) ; break ; case FMT_TIME_STD: // Time HH:MM:SS nSofar += sprintf(pBuf + nSofar, "%02d:%02d:%02d", Hour(), Min(), Sec()) ; break ; case FMT_TIME_USEC: // Time HH:MM:SS.uSec nSofar += sprintf(pBuf + nSofar, "%02d:%02d:%02d.%06d", Hour(), Min(), Sec(), uSec()) ; break ; } } if (eFmt & FMT_DT_MASK_TZONE) { if (nSofar) { pBuf[nSofar] = CHAR_SPACE ; nSofar++ ; } switch (eFmt & FMT_DT_MASK_TIMES) { case FMT_TZ_CODE: strcpy(pBuf + nSofar, "GMT") ; break ; case FMT_TZ_NUM: strcpy(pBuf + nSofar, "+0000") ; break ; case FMT_TZ_BOTH: strcpy(pBuf + nSofar, "+0000 (GMT)") ; break ; } } return pBuf ; }