Flutterby™! : PhDhell

Next unread comment / Catchup all unread comments User Account Info | Logout | XML/Pilot/etc versions | Long version (with comments) | Weblog archives | Site Map | | Browse Topics

PhDhell

2013-11-04 19:15:06.353689+01 by meuon 3 comments

I'm looking at an XML file of data, and with no apparent reason time for the same thing is expressed as:

  • <timeStamp>2013-11-04T12:12:18</timeStamp>
  • <timeStamp>11/4/2013 11:54:40</timeStamp>
  • <timeStamp>11/4/2013 11:54:41\nAM</timeStamp>

Yes, there is a line feed in that third example. Note the lack of a timezone reference. I understand it's not XML's fault, but it is the fault of whatever magic XML/SOAP-ish library is creating the data and the monkey using it.

The sad realization comes when you realize that dispite there being multiple timestamps for each snippit of data: RequestDateTime, ReadingDateTime, CompletedDateTime that there is not the timestamp of the actual reading that is being exported, which in a few cases is days or weeks old, which is the only really important timestamp there is.

So I have a time specific value, without knowing what time that value was valid/relevant... from a system designed by Engineers and PhD's using Java and Oracle. or at least Engineering/Computer Science students.

It isn't the tools fault, but certain tools seem to be used mostly by certain types of people. What I am absolutely sure of is: This system not only met the original very detailed specification, but passed a certification test against standards.

[ related topics: Language Web development Books Content Management Software Engineering Clowns Databases ]

comments in ascending chronological order (reverse):

#Comment Re: made: 2013-11-04 23:08:46.191932+01 by: Dan Lyke

Yeah, I currently work with a few genuine certified CS grads, and it's amazing how they want data structures in places where it doesn't matter, and don't care for the places it does.

And: Ugh. Dates. ISO8601 or GTFO. I mean, in a pinch I'll let you do RFC822 dates because you're old skool and don't want to update your tools, but...

#Comment Re: made: 2013-11-05 13:50:01.513563+01 by: meuon

While personally, I don't like all the variations of ISO8601, it's at least a thoughtfully well defined standard that if used well (include a time zone if apropos, please) solves the issues. Thankfully times are only 24hour.. But I've had serious issues with Midnight being both: "00:00" and "24:00" with the difference being what day they belong to, for the same instant. The STS/IEC62055-41 world solves that issue making 00:00:00 an illegal timestamp, and forcing you to increment past it to 00:01:00 (it only uses minutes in the meter). In other worlds, I have forced 24:00:00 as being invalid, and converting to 00:00:00 and making it the first second of the next day. And there have been long arguments with engineers and billing people that think 00:00:00 is the last second of the previous day and wondering why their SQL selection criteria is invalid.

#Comment Re: made: 2013-11-05 19:11:20.706408+01 by: Dan Lyke

My arrays are all zero based, 00:00:00 begins the current day, there are 24 hours in a day, thus day += hour % 24; hour %= 24; seems like the only valid way to manage midnight.

Comment policy

We will not edit your comments. However, we may delete your comments, or cause them to be hidden behind another link, if we feel they detract from the conversation. Commercial plugs are fine, if they are relevant to the conversation, and if you don't try to pretend to be a consumer. Annoying endorsements will be deleted if you're lucky, if you're not a whole bunch of people smarter and more articulate than you will ridicule you, and we will leave such ridicule in place.


Flutterby™ is a trademark claimed by

Dan Lyke
for the web publications at www.flutterby.com and www.flutterby.net.