All my magic diary-posting scripts are broken, so I'm using LiveJournal's posting interface for what may be the first time. I could fix the scripts, but I've been playing with train timetables instead, which is what I'm here to write about.
On 25th March this year, the clocks in the UK go forward. This means that they jump straight from 01:00 to 02:00, skipping all the times in between. I've mostly worked out how this is represented in ATOC's public timetable data, but there's one rail-replacement bus I can't understand, since it's timetabled to start its journey at Stevenage at 01:58, a time that doesn't exist. This causes perl's DateTime to throw an exception when I try to instantiate the departure time.
My usual approach to understanding a timetable oddity is to see what National Rail Enquiries makes of it. Unfortunately, they show the bus as leaving at 02:58 and arriving at 02:33, taking -25 minutes. There's a helpful warning that it's a bus, but no warning that it will go backwards in time.
Maybe First Capital Connect know. It's their service, after all. They have it leaving at 01:58, arriving at 01:33, and taking -1h 35m. So backwards in time, in an hour that doesn't exist, and taking longer about it than can really be justified.
East Coast try harder than most to make sense of the data. They show the bus leaving Stevenage at 02:58 and arriving in Letchworth in 02:33, but do manage to time it at 35 minutes. When asked about intermediate stops they permute the journey, showing it starting at Hitchin, before calling at Letchworth and then Stevenage, albeit with a note claiming that it terminates at Letchworth.
Given all that, I think my approach of catching the exception, printing a warning, and otherwise ignoring the service is probably about as good as I can hope for.