Monday, October 10, 2011

Java date convert: long milliseconds to string iso 8601

1305637849064 to 2011-10-10T07:46:56.394+0000
Time to covert is 1ms


import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.TimeZone;


public class MyDateUtilStuff {

private static DateFormat ISO_8601_DATE_TIME = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSZZZZZ");
static {
ISO_8601_DATE_TIME.setTimeZone(TimeZone.getTimeZone("UTC"));
}

public static void main(String[] args) {

String string = "1305637849064";

long startTime = System.currentTimeMillis();

Date date = new Date();
Calendar calendar = Calendar.getInstance();
calendar.setTimeInMillis(Long.parseLong(string));
String outDate = ISO_8601_DATE_TIME.format(date);

long time = System.currentTimeMillis() - startTime;

System.out.println(">>> alexey: MyDateUtilStuff.main ii = " + time);

System.out.println(">>> alexey: MyDateUtilStuff.main outDate = "
+ outDate);
}

}




0 comments: