PRODUCT: Lotus 1-2-3 Version 2.0

TEST WORKSHEET

PRODUCT:     Lotus 1-2-3 Version 2.0
ENVIRONMENT: run on MS Dos 3.2 up with COUNTRY=002 in
             config.sys

THe first rough test called "datetest.wk1" is a trial just to
refresh my memory on how everything still works.

/wgfg   (General format) set

          A               B              C                   D
1                    Test Value      @datevalue           @year
2   @date(                     36526           36526              100
3   number with /               2000            2000                5
4   quoted text      01-01-2000                  ERR              ERR
5   quoted text      02/29/2000                  ERR              ERR
6   @now                35460.513669    35460.513669               97
7   quoted text      01/01/00                      1                0
8   quoted text      2000/01/01                  ERR              ERR
9
10  The difference in days between   01/01/2000                 36526
11                   and             29/02/2000                 36585
12                   is                           59               59
13
14                99 days from       01/01/2000                 36526
15             36625 is                            9 month
16                                                 4 day
17                                              2000 year
18  @today                     35460

I then tried setting the Global format to 'Long International'.
A disaster of course because it tries to interpret ALL the numbers
as dates. Not good for a Balance Sheet.

/wgf4

          A               B              C                   D
1                    Test Value      @datevalue           @year
2   @date(                01/01/2000      01/01/2000         09/04/00
3   number with /           22/06/05        22/06/05         05/01/00
4   quoted text      01-01-2000                  ERR              ERR
5   quoted text      02/29/2000                  ERR              ERR
6   @now                    30/01/97        30/01/97         06/04/00
7   quoted text      01/01/00               01/01/00         00/01/00
8   quoted text      2000/01/01                  ERR              ERR
9
10  The difference in days between   01/01/2000            01/01/2000
11                   and             29/02/2000            29/02/2000
12                   is                     28/02/00         28/02/00
13
14          08/04/00 days from       01/01/2000            01/01/2000
15        09/04/2000 is                     09/01/00 month
16                                          04/01/00 day
17                                          22/06/05 year
18  @today                  30/01/97

This is a list of the first rough test cell contents.


    A1: '
    B1: [W16] 'Test Value
    C1: [W16] '@datevalue
    D1: '     @year
    A2: '@date(
    B2: [W16] @DATE(100,1,1)   <-- here i tried to see how input
                                   via the @date function works
                                   It is correct as for a numeric
                                   content but the display sucks
    C2: [W16] @DATEVALUE(B2)
    D2: @YEAR(C2)
    A3: 'number with /
    B3: [W16] 2000/1/1         <-- this was a test to see if you could
                                   enter dates as numbers. Not.
                                   This says 2000 divided by 1 divided
                                   by 1 gives 2000. True but not useful
    C3: [W16] @DATEVALUE(B3)
    D3: @YEAR(C3)
    A4: 'quoted text
    B4: [W16] '01-01-2000      <-  Now we try to enter a date as quoted
                                   text. Notice its gives ERR.
                                   It does not like the minus separators
    C4: [W16] @DATEVALUE(B4)
    D4: @YEAR(C4)
    A5: 'quoted text
    B5: [W16] '02/29/2000      <- again we try quoted text. Again ERR
                                  It likes the separators but hates
                                  month/day/year. Clever machine.
    C5: [W16] @DATEVALUE(B5)
    D5: @YEAR(C5)
    A6: '@now
    B6: [W16] @NOW             <- by now we are getting a bit desperate.
                                  What does it like. So we display
                                  Todays date. We get a decimal number.
                                  (so we quickly go /wgf1 and back)
                                  So we know that it gives us 30/01/97
                                  OK, Day, Month, Year  (2 digits?)
    C6: [W16] @DATEVALUE(B6)
    D6: @YEAR(C6)
    A7: 'quoted text
    B7: [W16] '01/01/00        <- So we try 2 digit year
                                  This gives us '1'. Meaning Jan 1 1900
                                  Correct, but not what we want
    C7: [W16] @DATEVALUE(B7)
    D7: @YEAR(C7)
    A8: 'quoted text
    B8: [W16] '2000/01/01        <- so we try Year, Month, Day. Nope
    C8: [W16] @DATEVALUE(B8)
    D8: @YEAR(C8)
    A10: 'The difference in days between
    C10: [W16] '01/01/2000       <- Now we know what we can do.
                                    It likes day, month, Year (4 digit)

    D10: @DATEVALUE(C10)
    B11: [W16] 'and
    C11: [W16] '29/02/2000       <- Now we select a second date
    D11: @DATEVALUE(C11)
    B12: [W16] 'is
    C12: [W16] @DATEVALUE(C11)-@DATEVALUE(C10) <- and find the difference
                                                  which is 59 days
    D12: +D11-D10


    A14: 99                      <-  store 99 days
    B14: [W16] 'days from
    C14: [W16] '01/01/2000
    D14: @DATEVALUE(C14)         <-  store numeric value of Jan 1 2000
    A15: +A14+D14                <-  add them
    B15: [W16] 'is
    C15: [W16] @DAY(A15)         <-  now we convert back from our calcs
    D15: 'month
    C16: [W16] @MONTH(A15)       <-  find month
    D16: 'day
    A17: ^
    C17: [W16] 1900+@YEAR(A15)    <- we adjust to display actual year
    D17: 'year
    A18: '@today
    B18: [W16] @INT(@NOW)         <- just for fun we display todays
                                     date without the time
    C18: [W16] ^
                                  So we know that 99 days from
                                  Jan 1 2000 is April 9 2000
                                  Displaying the result however
                                  is a pain.


At this point we are ready to summarise what we have found out and define some rules.

RULES FOR LOTUS 1-2-3 Version 2.0x:

To ensure your dates work in a Y2k manner for Lotus 2.x follow these rules:

1. Use Global format 'General'

2. Input dates as quoted literals.
 Single quote (') aligns display left.
 Double quote (") aligns display right.

3. Dates from 1st January 1900 thru December 1999
should be encoded as 'dd/mm/yy or "dd/mm/yy

4. Dates from 1st January 2000 thru 31st December 2099
should be encoded 'dd/mm/yyyy or "dd/mm/yyyy

5. Date columns should have a default width of 10

6. Any transfer method must retain the quotes in the dates