Skip to content

Instantly share code, notes, and snippets.

@kristopherjohnson
Created July 31, 2013 18:20
Show Gist options
  • Star 37 You must be signed in to star a gist
  • Fork 10 You must be signed in to fork a gist
  • Save kristopherjohnson/6124652 to your computer and use it in GitHub Desktop.
Save kristopherjohnson/6124652 to your computer and use it in GitHub Desktop.
Methods for generating ISO 8601 timestamps in Java/Android
package net.kristopherjohnson.util;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Locale;
import java.util.TimeZone;
/**
* Methods for dealing with timestamps
*/
public class TimestampUtils {
/**
* Return an ISO 8601 combined date and time string for current date/time
*
* @return String with format "yyyy-MM-dd'T'HH:mm:ss'Z'"
*/
public static String getISO8601StringForCurrentDate() {
Date now = new Date();
return getISO8601StringForDate(now);
}
/**
* Return an ISO 8601 combined date and time string for specified date/time
*
* @param date
* Date
* @return String with format "yyyy-MM-dd'T'HH:mm:ss'Z'"
*/
private static String getISO8601StringForDate(Date date) {
DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss'Z'", Locale.US);
dateFormat.setTimeZone(TimeZone.getTimeZone("UTC"));
return dateFormat.format(date);
}
/**
* Private constructor: class cannot be instantiated
*/
private TimestampUtils() {
}
}
@rwheadon
Copy link

Thank you for this gist, it saved few minutes for sure

@ysoftware
Copy link

Thanks!

@antalakas
Copy link

Thanks!

@omervk
Copy link

omervk commented Jun 5, 2017

Note: getISO8601StringForCurrentDate only returns correct results if your machine is configured to UTC.

@wavyxu
Copy link

wavyxu commented May 27, 2018

Thanks!

@lajtmaN
Copy link

lajtmaN commented Apr 1, 2019

Here is a more recent way to do this:
DateTimeFormatter.ISO_DATE_TIME.format(LocalDateTime.now())

@taimoorgit
Copy link

Thanks. For some reason all the stackoverflow solutions are sooo inefficient. Annoying!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment