Hello, everyone:
As a result of George Stachnik's Cure2000 Broadcast, we have received many
requests from all over the world from administrators, developers,
consultants, and bits-and-bytes programmers who are interested in the
internal formats of bit-packed representations of dates that Adager
supports (i.e., those formats that are not ASCII or "straight" integer; by
their nature, these bit-packed formats have their own internal "structure"
which they achieve by defining specific meanings to specific bunches of
bits).
Fred White began assembling this information in the early 1990s. A couple
of years ago, we based Adager's "Examine Date" and "Change Date" functions
on Fred's R&D efforts. Even though there may be some odd-ball formats out
there, we have found that our selected collection covers 99.9% of
real-world cases.
As a public service to the HP3000 community, I am delighted to broadcast
this information on HP3000-L. Please let me know if your favorite
bit-packed format is not included. Thanks to Adager's object-oriented
approach, it is very simple for us to add new data types to our large
collection of Adager-supported date-oriented data types.
Keep in mind that this list contains ONLY non-obvious and bit-packed data
types (i.e., Adager also supports many other "standard" ASCII and integer
data types whose representations are obvious, such as six-character YYMMDD,
or eight-character MM/DD/YY, or 32-bit YYMMDD, or 32-bit MMDDYY, etc.)
________________________________________________________________
16-bit:
Type 100 Corresponds to "true" IMAGE type I1.
MANMAN: Its value is the number of days (DDDDD) starting
with January 1, 1973. If negative, its value is the number
of days preceding January 1, 1973. Zero is the NULL value.
Values between 1 and 428, inclusive, are invalid so
that, for positive values, DDDDD-428 represents the
number of days starting with January 1, 1973.
-32768 is April 15, 1883. 429 is January 1, 1973.
32767 is July 16, 2061. There seems to be a bizarre story
behind these values, having to do with somebody's birthday
or anniversary in the old ASK days. Can somebody please post
the story?
Type 101 Corresponds to "true" IMAGE type K1.
AQ/3000: Its value is the number of days (DDDDD)
starting with January 1, 1930. Zero is the NULL value.
65535 is June 5, 2109.
Type 102 Corresponds to "true" IMAGE type K1.
DataExpress DC date: Its value is the number of days
(DDDDD) starting with January 1, 1900. Zero is the NULL value.
65535 is June 5, 2079.
Type 103 Corresponds to "true" IMAGE type K1.
POWERHOUSE: Bits 0-6 = Year-of-century (YY). Bits 7-10
= month-of-Year (MM). Bits 11-15 = day-of-month (DD).
Type 104 Corresponds to "true" IMAGE type K1.
HP CALENDAR: Bits 0-6 = Year-of-century (YY).
Bits 7-15 = day-of-Year (DOY).
________________________________________________________________
32-bit:
Type 209 Corresponds to "true" IMAGE type I2 with values
DDDDDDD representing a count of days starting with the
year 0000. Negatives are ILLEGITIMATE. Zero is NULL.
1 is January 1, 0000. 3652437 is December 31, 9999.
Values greater than 3652437 are ILLEGITIMATE.
Type 210 Corresponds to "true" IMAGE type I2.
DataExpress DC date: The value represents the number
of days (DDDDDDD) starting at 1900. Negatives are
ILLEGITIMATE. Zero is NULL. 1 is January 1, 1900.
2958464 is December 31, 9999. Values greater than
2958464 are ILLEGITIMATE.
Type 213 Corresponds to "true" IMAGE type K2 with BINARY
values YYYYMMDD packed as (23/4/5). PowerHouse's 32-bit date type.
Type 214 Corresponds to "true" IMAGE type K2 with BINARY
values YYYYDDD bit-packed as (23/9). HP Calendar.
________________________________________________________________
48-bit:
Type 304 Corresponds to "true" IMAGE type K3 with BINARY
values YYYYMMDD packed as (12/4/5 & 27-zeroes).
Software Research Northwest (SRN) CHRONOS.
________________________________________________________________
128-bit:
Type 800 Refers to the IMAGE/SQL (and ALLBASE/SQL) 128-bit data type.
The first 14 bits contain YYYY, the next 4 bits contain MM
and the next 6 bits contain DD.
The next 40 bits are all zeroes and the last 64 bits
contain an IEEE real whose value is the number of
microseconds between midnight on 0000/01/01 and midnight
on YYYY/MM/DD.
________________________________________________________________
Enjoy!
_______________
| |
| |
| r | Alfredo [log in to unmask]
| e | http://www.adager.com
| g | F. Alfredo Rego Tel 208 726-9100
| a | Manager, R & D Labs Fax 208 726-2822
| d | Adager Corporation
| A | Sun Valley, Idaho 83353-3000 U.S.A.
| |
|_______________|
.
|