1 21 package com.jaspersoft.jasperserver.war.util; 22 23 import java.text.DateFormat ; 24 import java.text.SimpleDateFormat ; 25 26 import org.springframework.context.i18n.LocaleContextHolder; 27 28 32 public class DefaultCalendarFormatProvider implements CalendarFormatProvider { 33 34 public String getCalendarDatePattern() { 35 String pattern = getDateFormatPattern(); 36 pattern = pattern.replaceAll("(?i)m+", "%m"); 37 pattern = pattern.replaceAll("(?i)d+", "%d"); 38 pattern = pattern.replaceAll("(?i)y+", "%Y"); 39 return pattern; 40 } 41 42 public String getCalendarDatetimePattern() { 43 String pattern = getDatetimeFormatPattern(); 44 pattern = pattern.replaceAll("d+", "%d"); 45 pattern = pattern.replaceAll("M+", "%m"); 46 pattern = pattern.replaceAll("y+", "%Y"); 47 pattern = pattern.replaceAll("H+", "%H"); 48 pattern = pattern.replaceAll("h+", "%I"); 49 pattern = pattern.replaceAll("a+", "%p"); 50 pattern = pattern.replaceAll("(?<=^|[^%])m+", "%M"); 51 return pattern; 52 } 53 54 public DateFormat getDateFormat() { 55 String pattern = getDateFormatPattern(); 56 return new SimpleDateFormat (pattern); 57 } 58 59 public DateFormat getDatetimeFormat() { 60 String pattern = getDatetimeFormatPattern(); 61 return new SimpleDateFormat (pattern); 62 } 63 64 protected String getDatetimeFormatPattern() { 65 SimpleDateFormat defaultFormat = (SimpleDateFormat ) DateFormat.getDateTimeInstance(DateFormat.SHORT, DateFormat.SHORT, LocaleContextHolder.getLocale()); 66 String pattern = (defaultFormat).toPattern(); 67 pattern = pattern.replaceAll("d+","dd"); 68 pattern = pattern.replaceAll("M+","MM"); 69 pattern = pattern.replaceAll("y+","yyyy"); 70 pattern = pattern.replaceAll("H+","HH"); 71 pattern = pattern.replaceAll("h+","hh"); 72 pattern = pattern.replaceAll("k+","HH"); 73 pattern = pattern.replaceAll("K+","hh"); 74 pattern = pattern.replaceAll("m+","mm"); 75 return pattern; 76 } 77 78 protected String getDateFormatPattern() { 79 SimpleDateFormat defaultFormat = (SimpleDateFormat ) DateFormat.getDateInstance(DateFormat.SHORT, LocaleContextHolder.getLocale()); 80 String pattern = (defaultFormat).toPattern(); 81 pattern = pattern.replaceAll("(?i)d+","dd"); 82 pattern = pattern.replaceAll("(?i)m+","MM"); 83 pattern = pattern.replaceAll("(?i)y+","yyyy"); 84 return pattern; 85 } 86 87 } 88 | Popular Tags |