The more Generalised test (for Multiple spreadsheets) - TDATE1.WK1

As you can see we now have our own little Meltdown counter for Y2k on Line 18. Lines 19 and 20 enable us to calculate some other troublesome dates.

We just follow the Rules that we established in the rough test.


/WGFG

       A            B        C       D       E         F          G           H
1   Y2K CINDERELLA DATE CRUNCHER     (page down for Instructions)
2
3              Clean display         |            Workarea
4              Data        leapyear? |  @datevalue
5   date >>    29/02/2000 yes        |      36585
6   new        2000/02/29        ERR |        ERR
7   acceptable 01/01/2000 yes        |      36526
8   old        01/01/97   no         |      35431
9   new        1997/01/27        ERR |        ERR
10
11             split into :          | @year      @month     @day
12  redisplay       36585 <-(@date)  |        100          2         29
13                                   |       2000
14  time >>    17:23:00              | 0.72430555
15                                   | @hour      @minute    @second
16             0.72430555 <-(@time)  |         17         23          0
17                                   |
18  Meltdown in      1066 days       | reworked as       ERR
19  Dday - 999      35527 <-(@date)  |         97          4          7     35527
20  Dday - 9999     26527 <-(@date)  |         72          8         16     26527


               Instructions

               (LOTUS 2.x)
    1) start with globals /WGFG
    2) Change fields marked >> and see
    3) Try /WGFD4


Using /WGFD4 just to see the date displays:

      A             B        C       D     E        F         G        H
1   Y2K CINDERELLA DATE CRUNCHER     (page down for Instructions)
2
3              Clean display         |            Workarea
4              Data        leapyear? |  @datevalue
5   date >>    29/02/2000 yes        | 29/02/2000
6   new        2000/02/29        ERR |        ERR
7   acceptable 01/01/2000 yes        | 01/01/2000
8   old        01/01/97   no         |   01/01/97
9   new        1997/01/27        ERR |        ERR
10
11             split into :          | @year      @month     @day
12  redisplay  29/02/2000 <-(@date)  |   09/04/00   02/01/00   29/01/00
13                                   |   22/06/05
14  time >>    17:23:00              |   00/01/00
15                                   | @hour      @minute    @second
16               00/01/00 <-(@time)  |   17/01/00   23/01/00   00/01/00
17                                   |
18  Meltdown in  01/12/02 days       | reworked as       ERR
19  Dday - 999   07/04/97 <-(@date)  |   06/04/00   04/01/00   07/01/00 07/04/97
20  Dday - 9999  16/08/72 <-(@date)  |   12/03/00   08/01/00   16/01/00 16/08/72

     And Here are the Cells:

Please note the use of the Infamous "Simplex" leapyear
algorithm which despite its impurity and moral
turpitude has the unfortunate and embarassing quality
of working correctly within the life span of any
machine that it might run on.

Just to labour the point, I used it not just once but 5 times.


         A1: 'Y2K CINDERELLA DATE CRUNCHER
         D1: [W2] '(page down for Instructions)
         B3: 'Clean display
         D3: [W2] '|
         F3: 'Workarea
         B4: 'Data
         C4: ' leapyear?
         D4: [W2] '|
         E4: ' @datevalue
         A5: 'date >>
         B5: '29/02/2000
         C5: @IF(@MOD(@YEAR(E5),4)=0,"yes","no")  <- Here it is!
         D5: [W2] '|
         E5: @DATEVALUE(B5)
         A6: 'new
         B6: '2000/02/29
         C6: @IF(@MOD(@YEAR(E6),4)=0,"yes","no")
         D6: [W2] '|
         E6: @DATEVALUE(B6)
         A7: 'acceptable
         B7: '01/01/2000
         C7: @IF(@MOD(@YEAR(E7),4)=0,"yes","no")
         D7: [W2] '|
         E7: @DATEVALUE(B7)
         A8: 'old
         B8: '01/01/97
         C8: @IF(@MOD(@YEAR(E8),4)=0,"yes","no")
         D8: [W2] '|
         E8: @DATEVALUE(B8)
         A9: 'new
         B9: '1997/01/27
         C9: @IF(@MOD(@YEAR(E9),4)=0,"yes","no")
         D9: [W2] '|
         E9: @DATEVALUE(B9)
         B11: 'split into :
         D11: [W2] '|
         E11: '@year
         F11: '@month
         G11: '@day
         A12: 'redisplay
         B12: @DATE(E12,F12,G12)
         C12: '<-(@date)
         D12: [W2] '|
         E12: @YEAR(E5)
         F12: @MONTH(E5)
         G12: @DAY(E5)
         D13: [W2] '|
         E13: 1900+E12
         A14: 'time >>
         B14: '17:23:00
         D14: [W2] '|
         E14: @TIMEVALUE(B14)
         D15: [W2] '|
         E15: '@hour
         F15: '@minute
         G15: '@second
         B16: @TIME(E16,F16,G16)
         C16: '<-(@time)
         D16: [W2] '|
         E16: @HOUR(E14)
         F16: @MINUTE(E14)
         G16: @SECOND(E14)
         D17: [W2] '|
         A18: 'Meltdown in
         B18: @DATEVALUE("01/01/2000")-@INT(@NOW)
         C18: 'days
         D18: [W2] '|
         E18: 'reworked as
         F18: @DATEVALUE("2000/01/01")-@INT(@NOW)
         A19: 'Dday - 999
         B19: @DATE(E19,F19,G19)
         C19: '<-(@date)
         D19: [W2] '|
         E19: @YEAR(H19)
         F19: @MONTH(H19)
         G19: @DAY(H19)
         H19: @DATEVALUE("01/01/2000")-999
         A20: 'Dday - 9999
         B20: @DATE(E20,F20,G20)
         C20: '<-(@date)
         D20: [W2] '|
         E20: @YEAR(H20)
         F20: @MONTH(H20)
         G20: @DAY(H20)
         H20: @DATEVALUE("01/01/2000")-9999
         B23: 'Instructions
         B25: "(LOTUS 2.x)
         A26: '1) start with globals /WGFG
         A27: '2) Change fields marked >> and see
         A28: '3) Try /WGFD4

CONCLUSION:

So despite naysaying, I think we have categorically proved that Lotus 1-2-3 version 2.0x can be used successfully for Y2k even on old versions of Operating Systems, provided we use a specific set of rules.

So Lotus 2.0x gets Acceptability Index 6, 2 digit ambigous date form. It would have scored higher if it was year/month/day.

"The Beginning of Wisdom is when you Realise that You Know Nothing - and that other people know even less" - The Inter-Galactic Slug