001 package railo.runtime.converter; 002 003 import java.text.DateFormat; 004 import java.text.SimpleDateFormat; 005 import java.util.Date; 006 import java.util.Locale; 007 import java.util.TimeZone; 008 009 import org.apache.commons.collections.map.ReferenceMap; 010 011 import railo.runtime.engine.ThreadLocalPageContext; 012 013 public class JSONDateFormat { 014 015 private static ReferenceMap map=new ReferenceMap(); 016 //private static DateFormat format=null; 017 private static Locale locale=Locale.ENGLISH; 018 019 public synchronized static String format(Date date, TimeZone tz) { 020 tz=ThreadLocalPageContext.getTimeZone(tz); 021 String id=locale.hashCode()+"-"+tz.getID(); 022 DateFormat format = (DateFormat) map.get(id); 023 if(format==null){ 024 format=new SimpleDateFormat("MMMM, dd yyyy HH:mm:ss Z",locale); 025 format.setTimeZone(tz); 026 map.put(id, format); 027 } 028 029 return format.format(date); 030 } 031 }