Date-time work is tricky stuff, often surprising and counter-intuitive. Issues like time zones, offsets, UTC/GMT, Daylight Saving Time (DST), epoch, Leap Year, Leap Second, and historical anomalies create confusing complications.
Fortunately we have a powerful new open-source tool: the [java.time](http://docs.oracle.com/javase/8/docs/api/java/time/package-summary.html) framework built into Java 8 and later, and back-ported to Java 6 & 7 & Android.
We walk through the key concepts of date-time in business-oriented apps. We see those concepts in action as we tour the classes offered by java.time. Practical code examples show how to adjust between time zones, how to parse and generate strings in various formats including localization, how to get date-times in/out of databases, and how to represent a span of time. Learn the difference between time zone and locale. Understand the meaning of a “local” versus a “zoned” date-time. Get tips on how to change your thinking and your coding habits to make handling date-time much easier, more predictable, and even enjoyable.