1 package com.teamkonzept.lib.templates; 2 3 import com.teamkonzept.lib.*; 4 5 import java.io.*; 6 import java.util.*; 7 import java.text.*; 8 9 14 public class TKDateTag extends TKLabelTag { 15 16 public static final int TAG_TYPE = TKExistsTag.TAG_TYPE+1; 17 18 23 public TKDateTag( TKTemplateSyntax parent, String name, boolean hasSubTags ) throws TKTemplateSyntaxException 24 { 25 super( parent, name, hasSubTags ); 26 } 27 28 32 public String apply( TKTemplateData td ) throws TKTemplateSyntaxException 33 { 34 String label = getRealLabel( td ); 36 int i1 = label.indexOf(':',0); 37 int i2 = label.indexOf(':',i1+1); 38 int i3 = label.indexOf(':',i2+1); 39 40 String timezone = label.substring (0,i1).trim(); 41 String language = label.substring (i1+1,i2).trim(); 42 String country = label.substring (i2+1,i3).trim(); 43 String fmt = label.substring (i3+1); 44 45 TimeZone tz = timezone.length() == 0 ? TimeZone.getDefault() : TimeZone.getTimeZone(timezone); 46 47 SimpleDateFormat dateFormat = language.length() == 0 || country.length() == 0 ? 48 new SimpleDateFormat ("") : 49 new SimpleDateFormat ("",new Locale (language,country)); 50 51 dateFormat.setTimeZone(tz); 52 dateFormat.applyPattern(fmt); 53 54 return dateFormat.format(new java.util.Date ()); 55 } 56 57 public void apply(TKTemplateData td, Writer writer) 58 throws TKTemplateSyntaxException, IOException 59 { 60 String label = getRealLabel( td ); 62 int i1 = label.indexOf(':',0); 63 int i2 = label.indexOf(':',i1+1); 64 int i3 = label.indexOf(':',i2+1); 65 66 String timezone = label.substring (0,i1).trim(); 67 String language = label.substring (i1+1,i2).trim(); 68 String country = label.substring (i2+1,i3).trim(); 69 String fmt = label.substring (i3+1); 70 71 TimeZone tz = timezone.length() == 0 ? TimeZone.getDefault() : TimeZone.getTimeZone(timezone); 72 73 SimpleDateFormat dateFormat = language.length() == 0 || country.length() == 0 ? 74 new SimpleDateFormat ("") : 75 new SimpleDateFormat ("",new Locale (language,country)); 76 77 dateFormat.setTimeZone(tz); 78 dateFormat.applyPattern(fmt); 79 80 writer.write(dateFormat.format(new java.util.Date ())); 81 } 82 } | Popular Tags |