Can't find the information you are looking for here? Then leave a message over on our WinBatch Tech Support Forum.
Rumors of impending disaster throughout the world's computer systems as the clock ticks towards the year 2000 have spread towards corporate boardrooms everywhere. Committees have consulted, memorandums have been mentioned, and in keeping with current management philosophies, duties have been delegated. Questions inquiring about the millenium problem have been received by software companies throughout the civilized world and New York.
As a result of this overwhelming deluge of unforeseen paperwork, we are attempting to respond as best we can. We have compiled the normal list of questions and will answer them here. Hopefully you can pick out the answers to your questions from the information below.
Wilson WindowWare produces several software products that consist, in whole or in part, of a programmable Windows scripting language (WIL). These include the following products along with assorted version and numbering schemes:
WinBatch and WebBatch are simple programming languages ideally suited for use by personnel who may not be programming professionals, and whose programming abilities may be incidental to their primary job functions. It seems to be a favorite of network administrators and system integrators. It does not tend to be used for large scale date computations, numerical computations, financial transactions, or long-term database records.
As they are programming languages, the proper handling of 4-digit dates is only slightly under our control. We have added capabilities to the language to assist in the transition through the year 2000, and provide the functions in the language to assist the programmers in conquering the year 2000 problem.
In most cases, the programs written with WinBatch or WebBatch do not process dates. In cases where they do process dates, the modifications we have made will allow most programs to transition into the next millenium without being modified. Of course we cannot guarantee this for any specific program. It is the customer's responsibility to test the program if required.
"FIXED WINDOW" (1950-2049):
WinBatch and WebBatch can accept both two-digit years and four-digit years. Two-digit years are assumed to be in the range of 1950 to 2049. When displaying or formatting data, by default 4-digit years will be used (older versions, 97E and previous, will use 2-year dates understanding them to be in the range of 1950 to 2049). An IntControl function is also available to control the display and format 2-digit and 4-digit years.
Winbatch only pays attention to 1950-2049, no matter what your "fixed window" settings are in Windows Regionals Settings. In other words, WB assumes all 2-digit yrs between the years (50-49) are the years between 1950 to 2049.
FAT 16 File Systems (1980-2044):
In Fat16 file systems, all dates are relative to the year 1980. In Fat16, file/time dates are calculated in 2 second intervals since 1980. By this relative method of time calcs, 2044 is where the counter overflows. In Fat16, after 2044, that many 2-second intervals have been used up. So in Winbatch test at the end of this article, we test years outside of this range to confirm that they are indeed outside this time slot. That is why you will see in a section of the LOG file (that is created after you run the test) that will say something like, "1975: Confirmed Invalid. FileTime functions cannot handle dates beyond 1980-2044." Do not be alarmed; we're expecting these dates to be invalid.
Product Family Approx Date Support Added Current version (Jan 2001) ----------------- ----------- ------------- ----------------------- WinBatch Jul 1, 1996 96E 2001a WinBatch+Compiler Jul 1, 1996 96E 2001a WebBatch Jul 1, 1998 98A 2001a
There are no conversion problems relating to the date-handling capability. There are the normal idiosyncrasies encountered when updating any desktop software. As there is no native data format, there are no direct datafile conversion problems; however, programmers may have made their own datafiles with their own unique formats. We have no control over those.
Note: Beginning in 98A, the default setting is to return 4 year dates for most of the Time functions (with the Exception of TimeDate which is configured via the Control Panel
Run the EXE by itself.
If a normal-looking "Windows"-type window appears, select the Help/About menu item.
Otherwise, a window should appear with either the version information displayed, or a selection available to obtain the version information.
If you possess a current version of the product, updated copies may be obtained via our Web server at http://www.winbatch.com.
Upgrades may be ordered by calling USA 1-800-762-8383 or 1-206-938-1740 with a credit card, or by faxing a Purchase Order to USA 1-206-935-7129
Updated copies of the programs with corrected setup routines are available from the website.
Installed and operational copies of the programs will not be affected by this bug.
By default, the 98A+ versions will use 4-digit years when formatting a date for display or for a function return as a time-type variable. Either 2- or 4-digit years can be accepted.
By executing the IntControl(41,0,0,0,0) function, a 2-year date will be formatted or returned instead. All date computations work internally with a 4-digit date.
The following functions were modified in support of the Year 2000 problem:IntControl(41, p1, 0, 0, 0) Controls YmdHms format returned by time functions. p1 Meaning -- ------- 0 2-digit year (YY:MM:DD:HH:MM:SS) (95/96/97 default) 1 4-digit year (YYYY:MM:DD:HH:MM:SS) (98 default) -1 Don't change (just return current setting) This affects the following functions which return a YmdHms string: FileYmdHms, TimeAdd, TimeJulToYmd, TimeSubtract, TimeYmdHms. TimeAdd Modified to accept both 2- and 4-digit years, and to return dates in accordance with the IntControl 41 flag. TimeDelay Modified to work properly after the year 2000 TimeDiffDays Modified to accept both 2- and 4-digit years TimeDiffSecs Modified to accept both 2- and 4-digit years TimeJulianDay Modified to accept both 2- and 4-digit years TimeJultoYMD Modified to return dates in accordance with the IntControl 41 flag. TimeSubract Modified to accept both 2- and 4-digit years, and to return dates in accordance with the IntControl 41 flag. TimeWait Modified to work properly after the year 2000 TimeYmdHms Modified to return dates in accordance with the IntControl 41 flag. TimeDate The TimeDate function returns a human-readable formatted date string. The string is formatted in accordance with the "International" user-defined specifications found in the Windows Control Panel.(beginning with version 98A)
This script tests time functions up to, and including, functions included in WinBatch 98D, so you must have at least WB98D to run this script successfully. If you don't, a warning message will come up when you run the script and the test script will exit.
Note #1: As in the TimeDate function, for the FileTimeGet function to return 4-digit years, you must change the "short date style" setting in Control Panel, under Regional Settings. (Alternatively, you could change the [Intl] sShortDate setting with IniWrite.)
You also must have at least version 98D for FileTimeGet to return 4-digit years. The remainder of the time functions return 4-digit years by default (without having to muck around with Regional Settings).
Note #2: FileTimeCode is affected by Daylight Savings Time. Especially on NT. The NT routines to convert file time and system time (maintained as GMT) to local time do not take into account that the daylight savings time bias offset might change. So when you check a file way back before, the time is handed to you with the current time settings. (as in PDT time instead of PST time).
In general, this is what the script in the following link tests:
OTHER Y2K QUESTIONS:
Q: Is there any hardcoding of 19 as the century still? A: Only when used to expand a two year date between 50 and 99.
Q: Does WB contain any 2-digit literals like 99 or zero or 19? A: Yes. 19 is one of our favorite numbers. Dialogs are limited to 99 controls. Zero's are rather common.
LOOKING BACKWARD: (a) Does WB correctly calculate the date when, being on or after 1/1/2000, it uses events with dates prior to 1/1/2000? i.e., after January 1, 2000, does WB correctly processes data containing dates BEFORE January 1, 2000? (test w/ FileYmdHms and other file functions)
LOOKING FORWARD: (a) Does WB correctly calculate the date when, being prior to Year 2000, the date of a future event is provided with a date on or after 1/1/2000? (test w/ FileYmdHms and other file functions) (b) After January 1, 2000, does WB correctly processes data containing dates after December 31, 1999?
(a) Will WB recognize Year 2000 as a leap year? I.e., will February 29, 2000 be recognized as a valid date?
(b) Does WB know that 2/29/2000 is a leap year and 1900 is not?
(c) Set the system date to Feb 28, wait for 29 then look at the March 1 date, and check day of week, etc.
(d) Will WB recognize Julian date 00060 as February 29, 2000?
(e) DAY OF THE WEEK: Can WB recognize the correct day of the week for dates on or after January 1, 2000.
(f) Test day of week on February 29, 2000 and March 1, 2000.
(g) Will WB run beyond 02/29/2000?
(h) Is Binary date (DAYS COUNTING FROM 1900) 36584 recognized as February 29, 2000?
Article ID: W12709
Filename: The Year 2000 Problem.txt
File Created: 2010:02:17:11:58:34
Last Updated: 2011:03:10:13:20:42