Previous Topic

Next Topic

Default Date, Time and Float formats

The c-treeDB record manager performs automatic data type conversions when the user reads from, or writes to, a field using a data type that is different from the field data type. For most data types, the conversion is straightforward except when converting dates and times to and from strings, as there are many different conventions for displaying dates and times.

By default c-treeDB converts date to string, and from string to date, using the standard USA convention of MM/DD/CCYY, where MM represents a two digit month with values from 01 to 12, DD represents a two digit day of the month with values from 01 to 31, depending on the number of days in the month, CC represents a two digit century and YY represents a two digit year. A date separator may be the ‘/’, ‘-’ and ‘.’ characters.

The c-treeDB API converts time to string, and string to time, using the standard USA convention of HH:MM AM where HH represents the hour with values from 1 to 12, MM represents the minutes with values from1 to 59 and AM represents AM or PM values.

Date Formats

SetDefDateFormat() sets a new default date format. GetDefDateFormat() retrieves the current default date format. The following date formats are supported:

  • CTDATE_MDCY Date format is MM/DD/CCYY where MM represents a two-digit month, DD represents a two-digit day of the month, CC represents a two-digit century, and YY represents a two-digit year. The date separator may be one of the following characters: ‘/’, ‘-’ or ‘,’. This is the default date format. Example: 12/01/2002.
  • CTDATE_MDY Date format is MM/DD/YY where MM represents a two-digit month, DD represents a two-digit day of the month, and YY represents a two-digit year. The date separator may be one of the following characters: ‘/’, ‘-’ or ‘,’. Example: 12/01/02.
  • CTDATE_DMCY Date format is DD/MM/CCYY where DD represents a two-digit day, MM represents a two-digit month, CC represents a two-digit century, and YY represents a two-digit year. The date separator may be one of the following characters: ‘/’, ‘-’ or ‘.’. Example: 01/12/2002.
  • CTDATE_DMY Date format is DD/MM/YY where DD represents a two-digit day, MM represents a two-digit month, and YY represents a two-digit year. The date separator may be one of the following characters: ‘/’, ‘-’ or ‘.’. Example: 01/12/02.
  • CTDATE_CYMD Date format is CCYYMMDD where CC is a two-digit century, YY is a two-digit date, MM is a two-digit month, and DD is a two-digit day of the month. This date format has no separators. Example: 20021201.
  • CTDATE_YMD The date format is YYMMDD where YY represents a two-digit year, MM represents a two-digit month, and DD represents a two-digit day of the month. This date format has no separators. Example: 021201

Time Formats

SetDefTimeFormat() sets a new default time format. GetDefTimeFormat() retrieves the current default time format. The following time formats are supported:

  • CTTIME_HMSP Time format is HH:MM:SS AP where HH represents an hour value between 1 and 12, MM represents a two-digit minute value between 00 and 59, SS represents a two-digit second value between 00 and 59, and AP is either AM or PM. The time separator may be ‘:’ or ‘.’. Example: 1:35:45 AM.
  • CTTIME_HMP Time format is HH:MM AP where HH represents an hour value between 1 and 12, MM represents a two-digit minute value between 00 and 59, and AP is either AM or PM. The time separator may be ‘:’ or ‘.’. Example: 1:35 AM.
  • CTIME_HMS Time format is HH:MM:SS where HH represents an hour value between 0 and 23, MM represents a two-digit minute value between 00 and 59, and SS represents a two-digit second value between 00 and 59. The time separator may be ‘:’ or ‘.’. Example: 1:35:45.
  • CTIME_HM Time format is HH:MM where HH represent an hour value between 0 and 23, MM represents a two-digit minute value between 00 and 59. The time separator may be ‘:’ or ‘.’. Example: 1:35.
  • CTTIME_MIL Time format is HHMM (military format). HH represents a two-digit hour value between 00 and 23 and MM represents a two-digit minute value between 00 and 59. This time format has no separator. Example: 0135.

Float Formats

When converting floating point type fields, such as CT_SFLOAT, CT_DFLOAT, and CT_EFLOAT, to and from strings, c-treeDB uses the float conversion format used by the C standard library functions printf() and scanf(). By default the float conversion format is set to “%f”. Use SetDefFloatFormat() set a new default float conversion format. Use GetDefFloatFormat() to retrieve the current default float conversion format.