[Info-vax] date comparison format from a program
gérard Calliet
gerard.calliet at pia-sofer.fr
Tue May 21 01:56:02 EDT 2019
Le 21/05/2019 à 00:03, Stephen Hoffman a écrit :
> On 2019-05-20 16:58:58 +0000, gérard Calliet said:
>
>> How doing something as simple as that in C, and not using the basic C
>> rtl (atoi,...) ,
>
> Um, what do you think I've been grumbling about for the better part of a
> decade?
>
> VSI is starting to address the down-revision tooling, but you're headed
> into the distant past.
>
> The doc is pretty thin in these and other areas, too:
> http://h30266.www3.hpe.com/odl/i64os/opsys/vmsos84/5763/5763profile_019.html#date_time_chap
>
>
>> because the idea is introducing normal young people (who don't know
>> anything but C and Java) to the way something can be done with (very
>> old) VAX C and VMS run-time, and also introducting The difference
>> between C strings and string descriptors.
>
> Descriptors? I wrote a few articles on that topic, too. And I've been
> grumbling about the lack of integration of C and C++ with OpenVMS, and
> about the tooling, and about the archaic frameworks, and about the
> morass that are descriptors and logical names and itemlists and all the
> glue code. It's a trip straight back to the 1980s, particularly the
> system services. Most anybody that knows OO will probably recognize
> descriptors. They won't like them and they'll think they're way too
> primitive. But they'll recognize them.
>
> Anybody that knows recent C will usually become frustrated by VAX C and
> K&R, too. Having ported a bunch of code from K&R forward, I'd rather
> not have to port code in the other direction...
>
>
> Here's a long-winded and older version of a date comparison
> else-platform (and slightly modified to document the return values),
> using Objective C:
> https://stackoverflow.com/a/34992094
>
>
> NSString *dateString1 = @"Fri, 22 Jan 2016 10:46:50 +0530";
> NSString *dateString2 = @"Fri, 22 Jan 2016 10:46:50 +0530";
>
> NSDateFormatter *inputFormatter = [[NSDateFormatter alloc] init];
>
> [inputFormatter setDateFormat:@"EEE, dd MMM yyyy HH:mm:ss Z"];
>
> NSDate *newDate = [inputFormatter dateFromString:dateString1];
> NSDate *currentDate = [inputFormatter dateFromString:dateString2];
>
> NSComparisonResult result = [newDate compare:currentDate]; //
> comparing two dates
>
> /*
> NSComparisonResult can be either of these values:
> - NSOrderedAscending (-1) //if date1 < date2
> - NSOrderedSame (0) //if date1 = date2
> - NSOrderedDescending (1) //if date1 > date2
> */
>
>
>
> As for this case and for converting two date string to epoch and then
> comparing them, hit Stack Overflow and start reading. For the folks
> here on macOS, Dash.app is handy as that has a complete download of
> Stack Overflow as one of its data sources.
>
> As for C, you'll probably be using strptime here.
> https://www.ibm.com/support/knowledgecenter/ssw_ibm_i_72/rtref/strpti.htm
>
> The following shows how to get to seconds...
> http://pubs.opengroup.org/onlinepubs/9699919799/functions/strptime.html
>
> And as for all of the reasons folks get themselves in a twist when
> trying to run old versions far past what they should, I'm well aware.
> I've heard most of the discussions before. And the folks will have
> problems, as the servers are never as isolated as the folks believe. Nor
> are the servers as reliably isolated. And the older the stuff gets and
> the further behind it gets, the more expensive it gets.
>
>
>
Thanks for all the references. And, no, I'll not redo the old discussion
about "the quarrel of the old and the modern"
More information about the Info-vax
mailing list