My own returns this...
So no worries about summer/winter time and you get lighting up times back as well.
{time=1418518341;timestr=00:52:21 14-12-2014;dawn=07:40;dusk=16:24;}
Usually within milliseconds... the format is my chosing - but you could do anything - so I have a routine that waits for stuff coming back from the ESP8266 and then looks for start and end blocks... so something like waitforserial(mystring,sizeof(mystring),2000,500,"time=|;");
So that will wait up to 2 seconds for something coming in - will look for "time=" in that timeslot and once it has that will look for the next ";". After that it will hang around discarding anything else that comes in for 500ms. The only buffering needed in terms of the string... is in this case enough to store "1418518341" which is the time in a format suitable for pushing to the Arduino time library.
Works a treat. The only issue I'm having is doing that while the ESP8266 is acting as socket listener - it seems it can't do both at once which is a pain.. so right now that's the first thing I do on power up - go get the time - the plan would be to reset the ESP8266 board maybe 2am every morning and go get the time.
Pete.