Crystal Reports for Eclipse Designer Guide

DateTimeTo2000 (dateTime, number)

Description
Converts a DateTime value to a 21st century DateTime value based on the range specified.
Arguments
  • dateTime: accepts only valid date-time fields, with either 2 digit or 4 digit years.
    • A database field defined as a date-time field. File|Report Options should be set to Convert Date-Time fields to Date-Time Field. (This option only works for ODBC data sources in 6.0.)
    • The CDateTime function (CDateTime(yyyy, MM, dd, hh, mm, ss) ). A four digit year is required by this function. If two digits are entered it will assume 00xx, example: 98 AD.
  • Number: a number between 0 and 99 corresponding with the desired windowing year.
  • Returns
    a date-time field 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).
  • If the year is less than or equal to 1899 and greater or equal to 100, then there will be no change to the date.
    Examples
    Here the window value is greater than the year and so it will change it to 20XX.
    DateTimeTo2000(CDateTime(1998,12,12,3,2,1), 99)
    should return 2098/12/12 3:02:01
    Here the window value is less than the year and so it will not change the year.
    DateTimeTo2000(CDateTime(1995,1,2,3,2,1), 94)
    should return 1995/01/02 3:02:01
    Other Examples
    These are examples of a date that will not be affected by the function.
    DateTimeTo2000(CDateTime(1899,12,12,5,6,7), 99)
    should return 1899/12/12 5:06:07
    DateTimeTo2000(CDateTime(999,12,12,5,6,7), 99)
    should return 999/12/12 5:06:07
    Some databases maintain the year of a date as a two digit field and so these samples will simulate that date field.
    DateTimeTo2000(CDateTime (93,12,12,5,6,7), 96)
    should return 2093/12/12 5:06:07
    DateTimeTo2000(CDateTime (98,12,12,5,6,7), 50)
    should return 1998/12/12 5:06:07
    DateTimeTo2000(CDateTime (9,12,12,5,6,7), 10)
    should return 2009/12/12 5:06:07
    DateTimeTo2000(CDateTime (2,12,12,5,6,7), 1)
    should return 1902/12/12 5:06:07



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