Crystal Reports for Eclipse Designer Guide

DTSTo2000 (DateTimeString, Number)

Description
Converts a DateTime value to a 21st century DateTime value based on the range specified.
Arguments
  • DateTimeString: accepts only valid date fields, with either 2 digit or 4 digit years.
    • A database field defined as a date field. Report Options (under the File menu) should be set to Convert Date-Time fields to Date-Time String.
    • A database field defined as a string field, but containing a date.
    • A date-time string entered in the format: "yyyy/MM/dd HH:mm:ss.00" or "yy/MM/dd HH:mm:ss:00", example: "1997/04/11 12:12:12.00" or "97/04/11 12:12:12.00".
  • Number: a number between 0 and 99 corresponding with the desired windowing year.
  • Returns
    a DateTime string with a four digit year
    Action
  • 2 digit years (xx)
    If the Year value is greater than the windowing number, 19 is appended before the 2 digits (19xx). If the Year value is less than or equal to the windowing number, 20 is appended (20xx).
  • 4 digit years (19xx)
    If the last two digits in the Year value are greater than the windowing number, the Year is preserved as found in the date field (19xx). If the two digits in the Year value are less than or equal to the windowing number, the first two digits are changed to 20 (20xx). If the first two digits in the year field are 20, the Year is preserved as found in the date field (20xx).

    Note: If the year is less than or equal to 1899 and greater than or equal to 100, there will be no change to the date.
  • Examples
    Your computer date setting must be "yy/mm/dd" or "yyyy/mm/dd" in order for the following examples to return the correct results.
    Here the window value is greater than the year and so it will change it to 20XX.
    DTSTo2000(ToText(CDateTime(1988,12,12,12,12,12)), 90)
    should return 2088/12/12 12:12:12PM
    Here the window value is less than the year and so it will not change the year.
    DTSTo2000(ToText(CDateTime(1984,12,12,1,2,3)), 83)
    should return 1984/12/12 1:02:03AM
    Other Examples
    These are examples of a date that will not be affected by the function.
    DTSTo2000(ToText(CDateTime(1899,12,12,1,2,3)), 99)
    should return 1899/12/12 1:02:03AM
    DTSTo2000(ToText(CDateTime(1899,12,12)), 99)
    should return 1899/12/12 12:00:00PM
    DTSTo2000(ToText(CDateTime(100,12,12,1,2,3)), 99)
    should return 100/12/12 1:02:03AM
    Some databases maintain the year of a date as a two digit field and so these samples will simulate that date field.
    DTSTo2000(ToText(CDateTime(98,12,12,1,2,3)), 99)
    should return 2098/12/12 1:02:03AM
    DTSTo2000(ToText(CDateTime(98,12,12,1,2,3)), 97)
    should return 1998/12/12 1:02:03AM
    DTSTo2000(ToText(CDateTime(98,12,12)), 97)
    should return 1998/12/12 12:00:00PM
    DTSTo2000(ToText(CDateTime(9,12,12,1,2,3)), 10)
    should return 2009/12/12 1:02:03AM
    DTSTo2000(ToText(CDateTime(1,12,12,1,2,3)), 0)
    should return 1901/12/12 1:02:03AM



    SAP BusinessObjects
    http://www.sap.com/sapbusinessobjects/
    Support services
    http://service.sap.com/bosap-support/
    Product Documentation on the Web
    http://help.sap.com/