Date and Time Parsing and Formatting in Java with Joda Time
Posted 2008-12-04 in Java by Johann.
Joda Time is above all a replacement for the java.text.DateFormat, java.text.SimpleDateFormat and java.util.Calendar classes. The original java.text and java.util classes are probably best known for not being thread-safe. In addition to being threadsafe, Joda Time also adds a richer and easier-to-use API.
This article is meant to be a cheat sheet for Joda Time – I will add more tips over time.
Date Parsing
The first line parses the Apache/lighttpd common or extended log file date format. The second one parses an ISO 8601 format.
DateTimeFormatter parser1 =
DateTimeFormat.forPattern("dd/MMM/yyyy:HH:mm:ss Z");
DateTimeFormatter parser2 =
DateTimeFormat.forPattern("yyyy-MM-dd HH:mm");
DateTime time = parser1.parseDateTime("<data>");
Time Addition and Subtraction
Do something if a date is less than one month in the past from now.
DateTime time = getTimeFromSomewhere();
DateTime now = new DateTime();
if (time.plusMonths(1).isAfter(now)) {
// something interesting happens here
}
All methods you’d expect are there: plusDays, plusHours, plusMillis, plusMinutes, plusMonths, plusSeconds, plusWeeks, plusYears and minusDays, minusHours, minusMillis, minusMinutes, minusMonths, minusSeconds, minusWeeks and minusYears. The API is chainable/fluent, so time.plusMonths(1).plusDays(1) works.
Before/After
Easily done using isBefore and isAfter:
if (time.isAfter(agent.lastSeen)) {
// computer reboots here
}
Subscribe
RSS 2.0, Atom or subscribe by Email.
Top Posts
- DynaCloud - a dynamic JavaScript tag/keyword cloud with jQuery
- 6 fast jQuery Tips: More basic Snippets
- xslt.js version 3.2 released
- xslt.js version 3.0 released XML XSLT now with jQuery plugin
- Forum Scanners - prevent forum abuse
- Automate JavaScript compression with YUI Compressor and /packer/
