一个包含时间值的字符串,格式为HHMMSS,每一个字节独立编码为ASCII字符。
如:
8点30分10秒
编码为:"083010\0"
又如:
19点30分10秒
编码为:"193010\0"
当出现,如"250003\0"、"227066\0"时,就是非法时间值。
如何判断呢?
C语言伪码,如下
int nHour,nMinute,nSecond;
char *pszTime = "083020";
nHour = (pszTime[0] - '0') * 10 + pszTime[1] - '0';
nMinute = (pszTime[2] - '0') * 10 + pszTime[3] - '0';
nSecond = (pszTime[4] - '0') * 10 + pszTime[5] - '0';
if ((nHour > 23) || (nMinute > 59) || (nSecond > 59))
{
printf("Invalid time\n");
}