Here you can find the source of formatDate(Date date, TimeZone timeZone)
public static String formatDate(Date date, TimeZone timeZone)
//package com.java2s; /*// w w w. j av a 2 s .c om * Copyright 2018 Confluent Inc. * * Licensed under the Confluent Community License (the "License"); you may not use * this file except in compliance with the License. You may obtain a copy of the * License at * * http://www.confluent.io/confluent-community-license * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT * WARRANTIES OF ANY KIND, either express or implied. See the License for the * specific language governing permissions and limitations under the License. */ import java.text.SimpleDateFormat; import java.util.Date; import java.util.HashMap; import java.util.Map; import java.util.TimeZone; public class Main { private static final ThreadLocal<Map<TimeZone, SimpleDateFormat>> TIMEZONE_DATE_FORMATS = ThreadLocal .withInitial(HashMap::new); public static String formatDate(Date date, TimeZone timeZone) { return TIMEZONE_DATE_FORMATS.get().computeIfAbsent(timeZone, aTimeZone -> { SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); sdf.setTimeZone(aTimeZone); return sdf; }).format(date); } }