Hello everybody!
I was talking with a friend/co-worker about the date format issue with
MBSE, and he asked if we could just use standard strftime formats.
This seems like an idea that would reduce much of the complication
involved with this change.
The changes to records would be a small string (6 bytes?) for the
default system format, and the same for user preferences.
Display changes would be very simple, since they could just use
strftime to format the date display.
The GetDate function in mbsebbs/input.c would need to need to
understand the strftime format (or a reduced/simplified subset that
includes %Y, %m, and %d), and adjust the handling of user import accordingly.
The language files currently have the date format hardcoded for the
prompts to enter dates for "Date of Birth" and for entering a date
when searching files. These will need to be more flexible. Perhaps something similar to what is needed for GetDate will work for
templating the date format in the language files.
Along with these changes is having MBSE use a time_t rather than a
string when possible so we can get rid of code (only two places that I
can think of at the moment) that manipulates a date string into a
YYYYMMDD format before turning it into an integer for comparison and sorting.
Ken
Would have thought that the Linux standard date format of YYYYMMDD can beused
for all. Then only convert for display subject to LC settings (sysop) or for language settings for bbs users (or there again just the LC one only).
Unix has a date and a date/time construct in C that has been in use a very long
time that can be used for the storage of such.
My applications when updating all use this form and only o/p to display or pronter based on users system settings via LC_TIME.
Vince
Hello everybody!
I was talking with a friend/co-worker about the date format issue with MBSE, and he asked if we could just use standard strftime formats.
This seems like an idea that would reduce much of the complication involved with this change.
The changes to records would be a small string (6 bytes?) for the
default system format, and the same for user preferences.
Display changes would be very simple, since they could just use
strftime to format the date display.
The GetDate function in mbsebbs/input.c would need to need to
understand the strftime format (or a reduced/simplified subset that includes %Y, %m, and %d), and adjust the handling of user import accordingly.
The language files currently have the date format hardcoded for the prompts to enter dates for "Date of Birth" and for entering a date
when searching files. These will need to be more flexible. Perhaps something similar to what is needed for GetDate will work for
templating the date format in the language files.
Along with these changes is having MBSE use a time_t rather than a
string when possible so we can get rid of code (only two places that I
can think of at the moment) that manipulates a date string into a
YYYYMMDD format before turning it into an integer for comparison and sorting.
Ken
Vince
--- Mageia Linux v5/Mbse v1.0.6/GoldED+/LNX 1.1.501-b20150715
+ Origin: Air Applewood, The Linux Gateway to the UK & Eire (2:250/1)
On 2016-10-05 09:56:28 -0700, Vince Coen wrote to Ken Bowley:
Would have thought that the Linux standard date format of YYYYMMDDused
can be
for all. Then only convert for display subject to LC settings
(sysop) or for language settings for bbs users (or there again just
the LC one only).
You may be a little disappointed to learn that in the user record in
MBSE sDateOfBirth is stored as a string in DD-MM-YYYY format, although
other dates (tFirstLoginDate and tLastLoginDate) are stored a int32_t.
Unix has a date and a date/time construct in C that has been in use
a very long time that can be used for the storage of such.
agreed.
My applications when updating all use this form and only o/p to
display or pronter based on users system settings via LC_TIME.
You may be a little disappointed to learn that in the user record in
MBSE sDateOfBirth is stored as a string in DD-MM-YYYY format, although other dates (tFirstLoginDate and tLastLoginDate) are stored a int32_t.
Load of space for the unix C construct as it is stored in binary.
On 2016-10-06 11:42:00 -0700, Vince Coen wrote to Ken Bowley:
(^--- side note to self, adjust for senders TZ)
You may be a little disappointed to learn that in the user recordin
MBSE sDateOfBirth is stored as a string in DD-MM-YYYY format,although
other dates (tFirstLoginDate and tLastLoginDate) are stored aint32_t.
Load of space for the unix C construct as it is stored in binary.
But is 12 bytes enough to store the time construct AND LC_TIME
information?
Along with these changes is having MBSE use a time_t rather than a
string when possible so we can get rid of code (only two places that I can think of at the moment) that manipulates a date string into a YYYYMMDD format before turning it into an integer for comparison and sorting.
Ken
Along with these changes is having MBSE use a time_t rather than
a string when possible so we can get rid of code (only two
places that I can think of at the moment) that manipulates a
date string into a
YYYYMMDD format before turning it into an integer for comparison
and sorting. Ken
All the programming lanuages support a date lib that allows you to
compare the dates as mm-dd-year.
Sysop: | digital man |
---|---|
Location: | Riverside County, California |
Users: | 1,054 |
Nodes: | 15 (0 / 15) |
Uptime: | 58:08:20 |
Calls: | 500,777 |
Calls today: | 9 |
Files: | 109,358 |
D/L today: |
56,320 files (8,713M bytes) |
Messages: | 466,002 |
Posted today: | 3 |