Here you can find the source of format(Date date)
public static String format(Date date)
//package com.java2s; /*//from w w w . j a v a2 s. c o m * Copyright 2013-2015 EMC Corporation. All Rights Reserved. * * Licensed under the Apache License, Version 2.0 (the "License"). * You may not use this file except in compliance with the License. * A copy of the License is located at * * http://www.apache.org/licenses/LICENSE-2.0.txt * * or in the "license" file accompanying this file. This file is distributed * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either * express or implied. See the License for the specific language governing * permissions and limitations under the License. */ import java.text.DateFormat; import java.text.SimpleDateFormat; import java.util.Date; import java.util.TimeZone; import java.util.WeakHashMap; public class Main { private static final String ISO_8601_DATE_Z = "yyyy-MM-dd'T'HH:mm:ss'Z'"; private static final ThreadLocal<WeakHashMap<String, DateFormat>> formatCache = new ThreadLocal<>(); public static String format(Date date) { if (date == null) return null; return getFormat(ISO_8601_DATE_Z).format(date); } private static DateFormat getFormat(String formatString) { if (formatCache.get() == null) { formatCache.set(new WeakHashMap<String, DateFormat>()); } DateFormat format = formatCache.get().get(formatString); if (format == null) { format = new SimpleDateFormat(formatString); format.setTimeZone(TimeZone.getTimeZone("UTC")); formatCache.get().put(formatString, format); } return format; } }