1 32 33 package com.knowgate.misc; 34 35 import com.knowgate.debug.DebugFile; 36 37 42 43 public class Calendar { 44 45 private static String WeekDayNamesES[] = { null, "domingo", "lunes", "martes", "miércoles", "jueves", "viernes", "sábado" }; 46 private static String WeekDayNamesEN[] = { null, "Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday" }; 47 private static String WeekDayNamesIT[] = { null, "Domenica", "Lunedì", "Martedì", "Mercoledì", "Giovedì", "Venerdì", "Sabato" }; 48 private static String WeekDayNamesFR[] = { null, "Dimanche", "Lundi", "Mardi", "Mercredi", "Jeudi", "Vendredi", "Samedi" }; 49 private static String WeekDayNamesDE[] = { null, "Sonntag", "Montag", "Dienstag", "Mittwoch", "Donnerstag", "Freitag", "Samstag" }; 50 private static String WeekDayNamesPT[] = { null, "Domingo", "Segunda-feira", "Terça-feira", "Quarta-feira", "Quinta-feira", "Sexta-feira", "Sábado" }; 51 52 private static String MonthNamesES[] = { "Enero","Febrero","Marzo","Abril","Mayo","Junio","Julio","Agosto","Septiembre","Octubre","Noviembre","Diciembre" }; 53 private static String MonthNamesEN[] = { "January","February","March","April","May","June","July","August","September","October","November","December" }; 54 private static String MonthNamesIT[] = { "Gennaio","Febbraio","Marzo","Aprile","Maggio","Giugno","Luglio","Agosto","Settembre","Ottobre","Novembre","Dicembre" }; 55 private static String MonthNamesFR[] = { "Janvier","Février","Mars","Avril","Mai","Juin","Juillet","Août","Septembre","Octobre","Novembre","Décembre" }; 56 private static String MonthNamesDE[] = { "Januar","Februar","März","April","Mai","Juni","Juli","August","September","Oktober","November","Dezember" }; 57 private static String MonthNamesPT[] = { "Janeiro","Fevereiro","Março","Abril","Maio","Junho","Julho","Agosto","Setembro","Outubro","Novembro","Dezembro" }; 58 59 private static String MonthNamesRFC[] = { "Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec" }; 60 61 63 69 public static String WeekDayName(int MyWeekDay, String sLangId) { 70 71 if (DebugFile.trace) { 72 DebugFile.writeln("Begin WeekDayName(" + String.valueOf(MyWeekDay) + "," + sLangId + ")"); 73 DebugFile.incIdent(); 74 } 75 76 String sRetVal; 77 78 if (MyWeekDay<1 || MyWeekDay>7) 79 throw new java.lang.IllegalArgumentException ("Calendar.WeekDayName 1st parameter (MyWeekDay) is " + String.valueOf(MyWeekDay) + " but must be in the range [1..7]"); 80 else { 81 if (null==sLangId) 82 throw new java.lang.IllegalArgumentException ("Calendar.WeekDayName 2nd parameter (Language Id.) is null but must be one of {es,en}"); 83 else if (sLangId.equalsIgnoreCase("es")) 84 sRetVal = WeekDayNamesES[MyWeekDay]; 85 else if (sLangId.equalsIgnoreCase("en")) 86 sRetVal = WeekDayNamesEN[MyWeekDay]; 87 else if (sLangId.equalsIgnoreCase("fr")) 88 sRetVal = WeekDayNamesFR[MyWeekDay]; 89 else if (sLangId.equalsIgnoreCase("de")) 90 sRetVal = WeekDayNamesDE[MyWeekDay]; 91 else if (sLangId.equalsIgnoreCase("it")) 92 sRetVal = WeekDayNamesIT[MyWeekDay]; 93 else if (sLangId.equalsIgnoreCase("pt")) 94 sRetVal = WeekDayNamesPT[MyWeekDay]; 95 else 96 throw new java.lang.IllegalArgumentException ("Calendar.WeekDayName 2nd parameter (Language Id.) must be one of {es,en}"); 97 } 98 99 if (DebugFile.trace) { 100 DebugFile.decIdent(); 101 DebugFile.writeln("End WeekDayName() : " + sRetVal); 102 } 103 104 return sRetVal; 105 } 107 109 115 public static String MonthName(int MyMonth, String sLangId) { 116 117 if (DebugFile.trace) { 118 DebugFile.writeln("Begin MonthName(" + String.valueOf(MyMonth) + "," + sLangId + ")"); 119 DebugFile.incIdent(); 120 } 121 122 String sRetVal; 123 124 if (MyMonth<0 || MyMonth>11) 125 throw new java.lang.IllegalArgumentException ("Calendar.MonthName 1st parameter (MyMonth) is " + String.valueOf(MyMonth) + " but must be in the range [0..11]"); 126 else { 127 if (null==sLangId) 128 throw new java.lang.IllegalArgumentException ("Calendar.MonthName 2nd parameter (Language Id.) is null but must be one of {es,en}"); 129 else if (sLangId.equalsIgnoreCase("es")) 130 sRetVal = MonthNamesES[MyMonth]; 131 else if (sLangId.equalsIgnoreCase("en")) 132 sRetVal = MonthNamesEN[MyMonth]; 133 else if (sLangId.equalsIgnoreCase("fr")) 134 sRetVal = MonthNamesFR[MyMonth]; 135 else if (sLangId.equalsIgnoreCase("it")) 136 sRetVal = MonthNamesIT[MyMonth]; 137 else if (sLangId.equalsIgnoreCase("de")) 138 sRetVal = MonthNamesDE[MyMonth]; 139 else if (sLangId.equalsIgnoreCase("pt")) 140 sRetVal = MonthNamesPT[MyMonth]; 141 else 142 throw new java.lang.IllegalArgumentException ("Calendar.WeekDayName 2nd parameter (Language Id.) must be one of {es,en}"); 143 } 144 145 if (DebugFile.trace) { 146 DebugFile.decIdent(); 147 DebugFile.writeln("End MonthName() : " + sRetVal); 148 } 149 150 return sRetVal; 151 } 153 155 161 public static int LastDay(int MyMonth, int MyYear) { 162 163 if (MyMonth<0 || MyMonth>11) 164 throw new java.lang.IllegalArgumentException ("Calendar.LastDay 1st parameter (MyMonth) is " + String.valueOf(MyMonth) + " but must be in the range [0..11]"); 165 166 if (MyYear<1000 || MyYear>9999) 167 throw new java.lang.IllegalArgumentException ("Calendar.LastDay 2nd parameter (MyYear) is " + String.valueOf(MyYear) + " but must be in the range [1000..9999]"); 168 169 switch(MyMonth) { 170 case 0: 171 case 2: 172 case 4: 173 case 6: 174 case 7: 175 case 9: 176 case 11: 177 return 31; 178 case 3: 179 case 5: 180 case 8: 181 case 10: 182 return 30; 183 case 1: 184 return ( (MyYear%400==0) || ((MyYear%4==0) && (MyYear%100!=0)) ) ? 29 : 28; 185 } return 0; 187 } 189 } | Popular Tags |