Why does isoformat() optionally not print the fractional seconds?

T

Travis Griggs

Python(3) let me down today. Better to be explicit, and all that, didn’tpan out for me.

I have time series data being recorded in a mongo database (I love pymongo). I have an iOS app that consumes the data. Since JSON doesn’t have a time format, I have to stringify the times when transmitting between the two. To parse it on the obj-c side, I use

NSDateFormatter *parser = [NSDateFormatter new];
parser = [NSTimeZone timeZoneWithAbbreviation:mad:"GMT"];
[parser setDateFormat:mad:"yyyy-MM-dd'T'HH:mm:ss.S”];
NSDate *date = [parser dateFromString: thatJsonString];

Which was working swimmingly, until I started getting occasional and infrequent nil dates at times. I thought I had a storage issue or something with my REST api, or the server, or something. But it was simply now and then again, why 1000’s of data points, I managed to get 0 milliseconds from time to time, which resulted in the isoformat() I was using to suddenly leave off the .S part of the string. And since the parse then failed, the iOS side decided it wasn’t valid and returned a nil.

Haven’t decided where/how I’ll work around it yet, but the isoformat() seemed unpythonic to me today.

Thanks for hearing me whine.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,995
Messages
2,570,236
Members
46,822
Latest member
israfaceZa

Latest Threads

Top