/** * @brief 字符转化为BCD码 * @param bcds BCD码首地址 * @param len BCD码的长度 * @param chars 字符串首地址 * @return 返回的文件指针 */ static void CharToBcd(UCHAR *bcds, int len, unsigned char *chars) { int i; for(i=0; i<len; i++) { bcds[i] = CharToNum(*chars++); bcds[i] |= CharToNum(*chars++) << 4; } }
TimeDateValue::TimeDateValue (const char* td) : Value (CSSM_DB_ATTRIBUTE_FORMAT_TIME_DATE) { struct tm tmStruct; memset (&tmStruct, 0, sizeof (tmStruct)); tmStruct.tm_year = CharToNum (td[0]) * 1000 + CharToNum (td[1]) * 100 + CharToNum (td[2]) * 10 + CharToNum (td[3]) - 1900; tmStruct.tm_mon = CharToNum (td[4]) * 10 + CharToNum (td[5]) - 1; tmStruct.tm_mday = CharToNum (td[6]) * 10 + CharToNum (td[7]); tmStruct.tm_hour = CharToNum (td[8]) * 10 + CharToNum (td[9]); tmStruct.tm_min = CharToNum (td[10]) * 10 + CharToNum (td[11]); tmStruct.tm_sec = CharToNum (td[12]) * 10 + CharToNum (td[13]); mValue = timegm (&tmStruct); }