The critical feature of interest in MS DOS is the file management system. Directory structures use Binary dates. The date can be set between 1980 and 2099.
Thus, if the correct current date is set, the correct date will be written to the directory. Provided comparisons are done on this binary date, all is well.
Display of the date (or reading of the date within a program) are the areas where problems arise.
In general, handling of file dates within MSDOS is acceptable.
TEST: for Y2K date discrimination in MSDOS (6.20) environments.
1. Acceptable, ISO/ANSI/FIPS standard, YYYYMMDD
Microsoft Windows 3.1. In the configuration section in "International" you can specify a ymd format, Century form, with leading zero months and days.
Most major system utilities and application programs should then use this format successfully.
*Exception Sighted is FileManager, Index 8
2. Acceptable, Non-ISO Standard, MMDDYYYY
LIST by Vern Buerg (9.1k). (Previous 7.x versions do not display 4 digit year)
CPBACKUP V6 Central Point Backup/Restore actually sees and reports 20xx form for files, with correct date discrimination and visibility.
Setting the date to 2001 and creating another backup set, CPBACKUP displays the Diskette date as 01-01-10, irrespective of whether 2000 or 2001 disk sets are used. Although pkzip displays the date as 2 digits, its logic correctly identifies the 00 as being later than say 96.
3. Acceptable, Old standard, MMDDYY or YYMMDD
Note: in a US config without special code tables etc, setting the following line in CONFIG.SYS "COUNTRY=002,,c:\dos\country.sys" will effectively change your DIR date format to YY/MM/DD without affecting your keyboard table. The DATE command will also request dates in YY-MM-DD form.
MS DOS 6.20 (Microsoft)
Dates are stored in correct (binary) format in the directory. Display of these dates is another matter. (See note on COUNTRY above). DIR may display mm/dd/yy, but DIR /OD and DIR /O-D correctly sequence dates. e.g. 96 low, 00 high, 01 higher.
Pkzip 2.04g by Phil Katz
Old form display, date logic correct. A Pkunzip -n working on an archive where files are dated 00 correctly overwrites files dated 96 and ignores files which are 00.
MSBACKUP 6 (Microsoft)
works by image copy without date discrimination.
MSBACKUP 6.0 displays the dates of files backed up on 01/01/2000 as 01-01-ST, although dates less than 99 are shown as 2 digits. The restore does not discriminate by date. The entire backup set is restored, with an option to overwrite or not based on existence. No indication is given of size or date of either file at this time, only file name.
Winlink 1.21c East Coast Software
Years in the 20xx ranges display junk. Compare and copy functions appear to use binary date. Correct date logic appears to work in Update and Equalise mode i.e. the "newer" file is detected and that file with its date are correctly transferred to the other system.
4. Unacceptable. none found, to date.
METHOD USED: Trial and error
Tools: Editor, TOUCH (Borland 3)
1. Directory dates
Setup was for standard US operation, default mm/dd/yy. (No COUNTRY= setting in Config.sys) A simple batch file was used to set various dates and copy a dummy TEST.DAT file to specially named YYYYMMDD.DAT files. The TOUCH program then ensured that the current date was set on the directory record.
copy test.dat 20000229.dat
copy test.dat 20010301.dat
copy test.dat 20020402.dat
copy test.dat 20030503.dat
copy test.dat 20490604.dat
copy test.dat 20500705.dat
copy test.dat 20800806.dat
copy test.dat 20810907.dat
copy test.dat 20961008.dat
Essentially, the binary dates in the directory operate correctly. Despite the peculiarities of display the dates sequence correctly and the system distinguishes between 1996 and 2096.
2. PKZIP testing.
The dummy files above were subjected to the following procedure for system dates 11/23/96, 01/01/2000 and 01/01/2001.
a. TOUCH *.* (sets all files in directory to date)
b. PKZIP -ex YYYYMMDD (for each relevant trial date)
c. Create backup diskettes using CPBACKUP and MSBACK.
The net result was three zip files containing embedded dates.
The next trial was to use PKUNZIP -n YYYYMMDD.zip to see if the "new only" option would respect 2000 type dates.
The tests were successful in that if the file date on disk was "higher" than the file in the zip, it was not overwritten. Similarly, if files on disk had "lower" dates than the zip, they were correctly overwritten. The conclusion is that PKZIP uses internal binary dates, and works correctly.
In scenario (2) above, diskette backup sets were taken on the three system dates. We then attempted to restore selectively and by directory, trying the backups in different sequences.
FURTHER ACTION: These tests need to be run on MSDOS 3.2 thru 6.22 and OS/2, and be verified.
VERIFICATION FEEDBACK REQUESTED:
Please send feedback to the group that you have performed the above (or similar tests) and that you are satisfied that the conclusions reached in this topic are valid (or otherwise). Comments on other programs in this category are welcome.
Comments are invited.
Usual disclaimers. Trademarks mentioned (if any) belong to their owners.