Time Zones and Calendars are a PITA. Although they govern how we live and when we do what, handling them programmatically is not an easy feat.

In this presentation we will look at how to deal with time zones, and two calendars: natural year, and ISO8601. We will see how it is hard to make assumptions on how they work, and explain how they came into existence. We’ll focus mostly on how to handle them from within PHP, as well as how we (should) store them in databases. We’ll also have a quick look at date manipulation when querying data.


Comments are closed.

Lucia Velasco at 20:51 on 13 Jun 2018

I live for this subject! I loved audience participation.
I've enjoyed learning both what I can do and what I should do. Excellent delivery! Can't think of any improvements... would have liked a gif?
Thank you!!!

Rob Wilson at 20:52 on 13 Jun 2018

Fantastic talk, great I sight into DateTimeImmutable especially as I've fallen into the trap of DateTime. I'm looking forward to Dericks next book. A bit of feedback is remembering what slides you have (the last one did sneak up), but otherwise thoroughly enjoyable

Mike Oram at 20:55 on 13 Jun 2018

Very interesting and fun opening quiz. I really enjoyed the interesting date facts outside of a coding context. Very simple code examples and easy to follow. Possibly add a few more weird exceptions to look out for but appreciate time is difficult (dates too apparently!!)

Rhys Laval at 20:55 on 13 Jun 2018

Great talk and audience participation made it better!

Interesting to learn how much there is to dates and time in computing. Very informative, and has given me more to think about when working with time related code.

Great talk showing just how easily we can get a simple concept so wrong. Only comment would be the standardisation of the examples (when not illustrating boundaries) as I was easily confused when the baseline varied so much

Really comprehensive talk about Dates/DateTimes in PHP, with a lot of caveats and edge cases. Very knowledge speaker and the quiz was a great way to kickoff this talk. Was a pleasure and an honour to be sharing the stage tonight with Derick.

Really enjoyed the quiz, even if I never put my hand up as I was sure they were all trick questions!

I'd have liked to have seen a bit more about the gotchas of storing and retrieving Dates, as that's the bit I've made the biggest mess of historically.

Looking forward to the updated book's release on DateTimeImmutable("+1 year").

Really enjoyable talk.

You made what could have been a dry topic very entertaining. Loved the quiz at the start.

My only minor suggestion for improvement is I thought some of the slide transitions could have been done as you were explaining the steps rather than after.

I thought this was a fantastic talk and I learnt lots about time and timezones.

Craig Francis at 11:29 on 14 Jun 2018

Thanks again for the talk Derick, this morning I've been replacing my instances of DateTime with DateTimeImmutable, which is easier to understand... where $dt->modify() returns a new object, without effecting the current one (much better than having to clone, then modify).

Kat Zien at 12:41 on 14 Jun 2018

This was such a fun and informative talk, thank you Derick!

The quiz at the start was brilliant and was a great way to engage the audience.

And then it was great to get a refresher on DateTime, all the quirks and weirdnesses and to learn about DateTimeImmutable!

Looking forward to reading the updated book, good luck with it!

As others said, sometimes you explained things ahead of the explanation on the slides which might have made those moments feel a bit "rushed through", but as you had a limited amount of time that was understandable (and, as a co-organiser, thank you for sticking to the schedule and not overrunning :D).

Overall a great and well prepared talk!

Dan Ackroyd at 11:43 on 16 Jun 2018

I think the slides could do with quite a bit of work to improve the legibility of them. For quite a few of the slides the code was just way too small to read even when squinting.

For the slides that had images on them, those images should be 100% of the screen width and height for people to have chance to see the details on them.