On 2014-04-23 01:05, Travis Griggs wrote:
Python(3) let me down today. Better to be explicit, and all that, didn’t pan 
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:@"GMT"];
     [parser setDateFormat:@"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.

Omitting fractional seconds is permitted by the standard. There was a
thread last year about it:

Making datetime __str__ and isoformat more consistent
https://mail.python.org/pipermail//python-ideas/2013-November/023913.html

--
https://mail.python.org/mailman/listinfo/python-list

Reply via email to