List of usage examples for java.util Calendar FRIDAY
int FRIDAY
To view the source code for java.util Calendar FRIDAY.
Click Source Link
From source file:org.sakaiproject.signup.tool.jsf.organizer.action.EditMeeting.java
private void retrieveRecurrenceData(List<SignupMeeting> upTodateOrginMeetings) { /*to see if the recurring events have a 'Start_Now' type already*/ this.isStartNowTypeForRecurEvents = Utilities.testSignupBeginStartNowType(upTodateOrginMeetings); String repeatType = upTodateOrginMeetings.get(0).getRepeatType(); if (repeatType != null && !ONCE_ONLY.equals(repeatType)) { int lSize = upTodateOrginMeetings.size(); setLastRecurMeetingModifyDate(upTodateOrginMeetings.get(lSize - 1).getStartTime()); setRecurringType(repeatType);//from www. j a v a 2 s . c o m return; } /*The following code is to make it old version backward compatible*/ setFirstRecurMeetingModifyDate(null); setLastRecurMeetingModifyDate(null); if (upTodateOrginMeetings == null || upTodateOrginMeetings.isEmpty()) return; setFirstRecurMeetingModifyDate(upTodateOrginMeetings.get(0).getStartTime()); /* in case: it's the last one */ setLastRecurMeetingModifyDate(upTodateOrginMeetings.get(0).getStartTime()); int listSize = upTodateOrginMeetings.size(); if (listSize > 1) { setLastRecurMeetingModifyDate(upTodateOrginMeetings.get(listSize - 1).getStartTime()); Calendar calFirst = Calendar.getInstance(); Calendar calSecond = Calendar.getInstance(); /* * we can only get approximate estimation by assuming it's a * succession */ calFirst.setTime(upTodateOrginMeetings.get(listSize - 2).getStartTime()); calFirst.set(Calendar.SECOND, 0); calFirst.set(Calendar.MILLISECOND, 0); calSecond.setTime(upTodateOrginMeetings.get(listSize - 1).getStartTime()); calSecond.set(Calendar.SECOND, 0); calSecond.set(Calendar.MILLISECOND, 0); int tmp = calSecond.get(Calendar.DATE); int daysDiff = (int) (calSecond.getTimeInMillis() - calFirst.getTimeInMillis()) / DAY_IN_MILLISEC; if (daysDiff == perDay) setRecurringType(DAILY); else if (daysDiff == perWeek) setRecurringType(WEEKLY); else if (daysDiff == perBiweek) setRecurringType(BIWEEKLY); else if (daysDiff == 3 && calFirst.get(Calendar.DAY_OF_WEEK) == Calendar.FRIDAY) setRecurringType(WEEKDAYS); } }
From source file:com.alkacon.opencms.calendar.CmsSerialDateWidget.java
/** * Returns the macro resolver with initialized macros to generate the serial date input form.<p> * //from www .ja v a2 s . co m * @param cms an initialized instance of a CmsObject * @param widgetDialog the dialog where the widget is used on * @param param the widget parameter to generate the widget for * @return the macro resolver with initialized macros */ protected CmsMacroResolver getMacroResolverForForm(CmsObject cms, I_CmsWidgetDialog widgetDialog, I_CmsWidgetParameter param) { CmsMacroResolver resolver = CmsMacroResolver.newInstance(); // set cms object and localized messages in resolver resolver.setCmsObject(cms); CmsMessages messages = new CmsMessages(CmsSerialDateWidget.class.getPackage().getName() + ".messages", widgetDialog.getLocale()); resolver.setMessages(messages); // delete empty macros which were not replaced resolver.setKeepEmptyMacros(false); // create the serial entry date object String paramValue = param.getStringValue(cms); Map params = CmsStringUtil.splitAsMap(paramValue, String.valueOf(CmsProperty.VALUE_LIST_DELIMITER), String.valueOf(CmsProperty.VALUE_MAP_DELIMITER)); // create the entry date from the field values CmsCalendarEntryDateSerial entryDate = CmsCalendarSerialDateFactory.getSerialDate(params, widgetDialog.getLocale()); if (entryDate == null) { // no entry date created yet, build an empty default date Calendar start = new GregorianCalendar(widgetDialog.getLocale()); Calendar end = (Calendar) start.clone(); entryDate = new CmsCalendarEntryDateSerial(start, end); entryDate.setSerialEndType(I_CmsCalendarSerialDateOptions.END_TYPE_NEVER); } // vars for daily options String dayDailyInterval = "1"; boolean dayEveryWorkingDay = false; // vars for weekly options String weekWeeklyInterval = "1"; // vars for monthly options int monthSelectedIndexWeekDayOfMonth = 0; int monthSelectedWeekDay = -1; String monthDayOfMonth = "1"; String monthMonthlyInterval = "1"; String monthMonthlyIntervalWeekDay = "1"; boolean monthUseWeekday = false; // vars for yearly options String yearDayOfMonth = "1"; boolean yearUseWeekday = false; int yearSelectedIndexMonth = 0; int yearSelectedIndexWeekDayOfMonth = 0; int yearSelectedWeekDayDay = -1; int yearSelectedIndexWeekDayMonth = 0; if (entryDate.getSerialOptions() != null) { // fill the variables depending on the selected serial date type String serialTypeMacroPrefix = MACRO_PREFIX_PARAMVALUE + PARAM_SERIALTYPE + "."; // set serial type radio selection resolver.addMacro(serialTypeMacroPrefix + entryDate.getSerialOptions().getSerialType(), ATTR_CHECKED); switch (entryDate.getSerialOptions().getSerialType()) { // set values for the selected serial type case I_CmsCalendarSerialDateOptions.TYPE_DAILY: CmsCalendarSerialDateDailyOptions dailyOptions = (CmsCalendarSerialDateDailyOptions) entryDate .getSerialOptions(); dayEveryWorkingDay = dailyOptions.isEveryWorkingDay(); dayDailyInterval = String.valueOf(dailyOptions.getDailyInterval()); break; case I_CmsCalendarSerialDateOptions.TYPE_WEEKLY: CmsCalendarSerialDateWeeklyOptions weeklyOptions = (CmsCalendarSerialDateWeeklyOptions) entryDate .getSerialOptions(); weekWeeklyInterval = String.valueOf(weeklyOptions.getWeeklyInterval()); // check the chosen week day checkboxes serialTypeMacroPrefix = MACRO_PREFIX_PARAMVALUE + PARAM_WEEK_WEEKDAY + "."; if (weeklyOptions.getWeekDays().contains(new Integer(Calendar.MONDAY))) { resolver.addMacro(serialTypeMacroPrefix + Calendar.MONDAY, ATTR_CHECKED); } if (weeklyOptions.getWeekDays().contains(new Integer(Calendar.TUESDAY))) { resolver.addMacro(serialTypeMacroPrefix + Calendar.TUESDAY, ATTR_CHECKED); } if (weeklyOptions.getWeekDays().contains(new Integer(Calendar.WEDNESDAY))) { resolver.addMacro(serialTypeMacroPrefix + Calendar.WEDNESDAY, ATTR_CHECKED); } if (weeklyOptions.getWeekDays().contains(new Integer(Calendar.THURSDAY))) { resolver.addMacro(serialTypeMacroPrefix + Calendar.THURSDAY, ATTR_CHECKED); } if (weeklyOptions.getWeekDays().contains(new Integer(Calendar.FRIDAY))) { resolver.addMacro(serialTypeMacroPrefix + Calendar.FRIDAY, ATTR_CHECKED); } if (weeklyOptions.getWeekDays().contains(new Integer(Calendar.SATURDAY))) { resolver.addMacro(serialTypeMacroPrefix + Calendar.SATURDAY, ATTR_CHECKED); } if (weeklyOptions.getWeekDays().contains(new Integer(Calendar.SUNDAY))) { resolver.addMacro(serialTypeMacroPrefix + Calendar.SUNDAY, ATTR_CHECKED); } break; case I_CmsCalendarSerialDateOptions.TYPE_MONTHLY: CmsCalendarSerialDateMonthlyOptions monthlyOptions = (CmsCalendarSerialDateMonthlyOptions) entryDate .getSerialOptions(); monthUseWeekday = monthlyOptions.isUseWeekDay(); if (!monthlyOptions.isUseWeekDay()) { monthDayOfMonth = String.valueOf(monthlyOptions.getDayOfMonth()); monthMonthlyInterval = String.valueOf(monthlyOptions.getMonthlyInterval()); } else { // set selected index of select boxes monthSelectedIndexWeekDayOfMonth = monthlyOptions.getDayOfMonth() - 1; monthSelectedWeekDay = monthlyOptions.getWeekDay(); monthMonthlyIntervalWeekDay = String.valueOf(monthlyOptions.getMonthlyInterval()); } break; case I_CmsCalendarSerialDateOptions.TYPE_YEARLY: CmsCalendarSerialDateYearlyOptions yearlyOptions = (CmsCalendarSerialDateYearlyOptions) entryDate .getSerialOptions(); yearUseWeekday = yearlyOptions.isUseWeekDay(); if (!yearlyOptions.isUseWeekDay()) { yearDayOfMonth = String.valueOf(yearlyOptions.getDayOfMonth()); yearSelectedIndexMonth = yearlyOptions.getMonth(); } else { yearSelectedIndexWeekDayOfMonth = yearlyOptions.getDayOfMonth() - 1; yearSelectedWeekDayDay = yearlyOptions.getWeekDay(); yearSelectedIndexWeekDayMonth = yearlyOptions.getMonth(); } break; default: // nothing do do here, should never happen } } else { // no serial entry created yet, add some defaults resolver.addMacro( MACRO_PREFIX_PARAMVALUE + PARAM_SERIALTYPE + "." + I_CmsCalendarSerialDateOptions.TYPE_DAILY, ATTR_CHECKED); resolver.addMacro(MACRO_PREFIX_PARAMVALUE + PARAM_WEEK_WEEKDAY + "." + Calendar.MONDAY, ATTR_CHECKED); } // set time settings String startTime = getCalendarLocalizedTime(widgetDialog.getLocale(), widgetDialog.getMessages(), entryDate.getStartDate().getTimeInMillis(), false, true); resolver.addMacro(MACRO_PREFIX_PARAMVALUE + PARAM_STARTTIME, startTime); String endTime = ""; if (!entryDate.getStartDate().equals(entryDate.getEndDate())) { // end time is different from start time, get localized value endTime = getCalendarLocalizedTime(widgetDialog.getLocale(), widgetDialog.getMessages(), entryDate.getEndDate().getTimeInMillis(), false, true); } resolver.addMacro(MACRO_PREFIX_PARAMVALUE + PARAM_ENDTIME, endTime); resolver.addMacro("select.durationdays", buildSelectDurationDays(PARAM_DURATIONDAYS, messages, entryDate.getDuration())); // set found values to serial option tabs // daily options resolver.addMacro(MACRO_PREFIX_PARAMVALUE + PARAM_DAY_DAILYINTERVAL, dayDailyInterval); resolver.addMacro(MACRO_PREFIX_PARAMVALUE + PARAM_DAY_EVERYWORKINGDAY + "." + dayEveryWorkingDay, ATTR_CHECKED); // weekly options resolver.addMacro(MACRO_PREFIX_PARAMVALUE + PARAM_WEEK_WEEKLYINTERVAL, weekWeeklyInterval); // monthly options // mark the correct radio resolver.addMacro(MACRO_PREFIX_PARAMVALUE + PARAM_MONTH_SERIALMONTHDAY + "." + monthUseWeekday, ATTR_CHECKED); // set the macros for the day of month options resolver.addMacro(MACRO_PREFIX_PARAMVALUE + PARAM_MONTH_DAYOFMONTH, monthDayOfMonth); resolver.addMacro(MACRO_PREFIX_PARAMVALUE + PARAM_MONTH_MONTHLYINTERVAL, monthMonthlyInterval); // set the macros for the week day of month options resolver.addMacro(MACRO_PREFIX_PARAMVALUE + PARAM_MONTH_MONTHLYINTERVALWEEKDAY, monthMonthlyIntervalWeekDay); // build the select boxes resolver.addMacro("select.monthnumberofweekday", buildSelectNumberOfWeekDayOfMonth( PARAM_MONTH_NUMBEROFWEEKDAYOFMONTH, "onfocus=\"document.getElementById('" + PARAM_MONTH_SERIALMONTHDAY + ".true').checked = true;\"", messages, monthSelectedIndexWeekDayOfMonth)); resolver.addMacro("select.monthweekday", buildSelectWeekDay(PARAM_MONTH_WEEKDAY, "onfocus=\"document.getElementById('" + PARAM_MONTH_SERIALMONTHDAY + ".true').checked = true;\"", messages, monthSelectedWeekDay)); // yearly options // mark the correct radio resolver.addMacro(MACRO_PREFIX_PARAMVALUE + PARAM_YEAR_SERIALYEARDAY + "." + yearUseWeekday, ATTR_CHECKED); // set the macros for the day of month options resolver.addMacro(MACRO_PREFIX_PARAMVALUE + PARAM_YEAR_DAYOFMONTH, yearDayOfMonth); resolver.addMacro("select.yearmonth", buildSelectMonth(PARAM_YEAR_MONTH, "onfocus=\"document.getElementById('" + PARAM_YEAR_SERIALYEARDAY + ".false').checked = true;\"", messages, yearSelectedIndexMonth)); // set the macros for the week day of month options resolver.addMacro("select.yearnumberofweekday", buildSelectNumberOfWeekDayOfMonth(PARAM_YEAR_WEEKDAYOFMONTH, "onfocus=\"document.getElementById('" + PARAM_YEAR_SERIALYEARDAY + ".true').checked = true;\"", messages, yearSelectedIndexWeekDayOfMonth)); resolver.addMacro("select.yearweekday", buildSelectWeekDay(PARAM_YEAR_WEEKDAY, "onfocus=\"document.getElementById('" + PARAM_YEAR_SERIALYEARDAY + ".true').checked = true;\"", messages, yearSelectedWeekDayDay)); resolver.addMacro("select.yearmonthweekday", buildSelectMonth(PARAM_YEAR_WEEKDAYMONTH, "onfocus=\"document.getElementById('" + PARAM_YEAR_SERIALYEARDAY + ".true').checked = true;\"", messages, yearSelectedIndexWeekDayMonth)); // set serial duration values // set start date resolver.addMacro("calendar.startdate", buildDateInput("startdate", widgetDialog, entryDate.getStartDate())); Calendar serialEndDate = entryDate.getSerialEndDate(); if (serialEndDate == null) { serialEndDate = entryDate.getStartDate(); } resolver.addMacro("calendar.serialenddate", buildDateInput("serialenddate", widgetDialog, serialEndDate)); // set occurences int occurences = 10; if (entryDate.getSerialEndType() == I_CmsCalendarSerialDateOptions.END_TYPE_TIMES) { occurences = entryDate.getOccurences(); } resolver.addMacro(MACRO_PREFIX_PARAMVALUE + PARAM_OCCURENCES, String.valueOf(occurences)); // set the end type radio buttons resolver.addMacro(MACRO_PREFIX_PARAMVALUE + PARAM_ENDTYPE + "." + entryDate.getSerialEndType(), ATTR_CHECKED); return resolver; }
From source file:joshuatee.wx.ModelInterfaceActivity.java
private String ConvertTimeRuntoTimeString(String run_str, String time_str) { int run_int = Integer.parseInt(run_str); int time_int = Integer.parseInt(time_str); int real_time_gmt = run_int + time_int; TimeZone tz = TimeZone.getDefault(); Date now = new Date(System.currentTimeMillis()); int offsetFromUtc = tz.getOffset(now.getTime()) / 1000; int real_time = real_time_gmt + offsetFromUtc / 60 / 60; int hour_of_day = real_time % 24; String am_pm = ""; if (hour_of_day > 11) { am_pm = "pm"; if (hour_of_day > 12) { hour_of_day = hour_of_day - 12; }/*from w ww. ja va 2 s . c o m*/ } else { am_pm = "am"; } int day = (int) real_time / 24; if (hour_of_day < 0) { hour_of_day = 12 + hour_of_day; am_pm = "pm"; day--; } Calendar calendar = Calendar.getInstance(); int day_of_week = calendar.get(Calendar.DAY_OF_WEEK); int hour_of_day_local = calendar.get(Calendar.HOUR_OF_DAY); if (run_int >= 0 && run_int < -offsetFromUtc / 60 / 60 && (hour_of_day_local - offsetFromUtc / 60 / 60) >= 24) { day++; } String future_day = ""; switch ((day_of_week + day) % 7) { case Calendar.SUNDAY: future_day = "Sun"; break; case Calendar.MONDAY: future_day = "Mon"; break; case Calendar.TUESDAY: future_day = "Tue"; break; case Calendar.WEDNESDAY: future_day = "Wed"; break; case Calendar.THURSDAY: future_day = "Thu"; break; case Calendar.FRIDAY: future_day = "Fri"; break; case 0: future_day = "Sat"; break; } //return future_day + " "+hour_of_day.toString()+ am_pm; return future_day + " " + Integer.toString(hour_of_day) + am_pm; }
From source file:dbtimetable.DBTimetableMIDletClass.java
private boolean is_weekdays(Calendar the_date) { // MONDAY -> 2 // TUESDAY -> 3 // WEDNESDAY -> 4 // THURSDAY -> 5 // FRIDAY -> 6 if ((the_date.get(Calendar.DAY_OF_WEEK) >= Calendar.MONDAY) && (the_date.get(Calendar.DAY_OF_WEEK) <= Calendar.FRIDAY)) { return true; } else {// w w w. j ava 2 s. c om return false; } }
From source file:org.eevolution.form.VCRP.java
public boolean checkResourceTypeAvailability(Timestamp dateTime, MResourceType t) { if (!t.isDateSlot()) { return true; }/* w w w . ja v a 2 s . co m*/ GregorianCalendar gc = new GregorianCalendar(); gc.setTimeInMillis(dateTime.getTime()); boolean retValue = false; switch (gc.get(Calendar.DAY_OF_WEEK)) { case Calendar.SUNDAY: retValue = t.isOnSunday(); break; case Calendar.MONDAY: retValue = t.isOnMonday(); break; case Calendar.TUESDAY: retValue = t.isOnTuesday(); break; case Calendar.WEDNESDAY: retValue = t.isOnWednesday(); break; case Calendar.THURSDAY: retValue = t.isOnThursday(); break; case Calendar.FRIDAY: retValue = t.isOnFriday(); break; case Calendar.SATURDAY: retValue = t.isOnSaturday(); break; } return retValue; }
From source file:com.adito.boot.Util.java
/** * Get a day of week constant suitable for use with {@link Calendar} * given an english day day. This may be any case and only the first * 3 characters are tested for (i.e. sun, mon, tue, etc ..) * //from ww w . j ava 2 s. co m * @param text * @return day of week */ public static int getDayOfWeekForText(String text) { text = text.toLowerCase(); if (text.startsWith("sun")) { return Calendar.SUNDAY; } else if (text.startsWith("mon")) { return Calendar.MONDAY; } else if (text.startsWith("tue")) { return Calendar.TUESDAY; } else if (text.startsWith("wed")) { return Calendar.WEDNESDAY; } else if (text.startsWith("thu")) { return Calendar.THURSDAY; } else if (text.startsWith("fri")) { return Calendar.FRIDAY; } else if (text.startsWith("sat")) { return Calendar.SATURDAY; } return 0; }
From source file:com.aimluck.eip.schedule.util.ScheduleUtils.java
/** * ?????????????//from w ww. j a v a2 s . c o m * * @param date * @param ptn * @param startDate * @param limitDate * @return */ public static boolean isView(ALDateTimeField date, String ptn, Date startDate, Date limitDate) { int count = 0; boolean result = false; Calendar cal = Calendar.getInstance(); cal.setTime(date.getValue()); // if (ptn.charAt(0) == 'D') { result = true; count = 1; // , } else if (ptn.charAt(0) == 'W') { int dow = cal.get(Calendar.DAY_OF_WEEK); // ?? int dowim = cal.get(Calendar.DAY_OF_WEEK_IN_MONTH); if (ptn.charAt(8) == 'N' || ptn.charAt(8) == 'L' || dowim == Character.getNumericValue(ptn.charAt(8))) { switch (dow) { // case Calendar.SUNDAY: result = ptn.charAt(1) != '0'; break; // case Calendar.MONDAY: result = ptn.charAt(2) != '0'; break; // ? case Calendar.TUESDAY: result = ptn.charAt(3) != '0'; break; // case Calendar.WEDNESDAY: result = ptn.charAt(4) != '0'; break; // case Calendar.THURSDAY: result = ptn.charAt(5) != '0'; break; // case Calendar.FRIDAY: result = ptn.charAt(6) != '0'; break; // case Calendar.SATURDAY: result = ptn.charAt(7) != '0'; break; default: result = false; break; } if (ptn.length() == 9) { count = 8; } else { count = 9; } } // } else if (ptn.charAt(0) == 'M') { int mday; if (ptn.substring(1, 3).equals("XX")) { mday = cal.getActualMaximum(Calendar.DATE); } else { mday = Integer.parseInt(ptn.substring(1, 3)); } result = Integer.parseInt(date.getDay()) == mday; count = 3; } else if (ptn.charAt(0) == 'Y') { int ymonth = Integer.parseInt(ptn.substring(1, 3)); int yday = Integer.parseInt(ptn.substring(3, 5)); int month = Integer.parseInt(date.getMonth()); int day = Integer.parseInt(date.getDay()); if (ymonth == month && yday == day) { result = true; count = 5; } else { result = false; } } else { return true; } if (result) { if (ptn.charAt(count) == 'L') { // ???? if (equalsToDate(startDate, date.getValue(), false) || equalsToDate(limitDate, date.getValue(), false)) { // ??? result = true; } else { // ???????????? result = result && startDate.before(cal.getTime()) && limitDate.after(cal.getTime()); } } } return result; }
From source file:org.sakaiproject.signup.tool.jsf.organizer.CopyMeetingSignupMBean.java
private void retrieveRecurrenceData(List<SignupMeeting> upTodateOrginMeetings) { /*to see if the recurring events have a 'Start_Now' type already*/ if (Utilities.testSignupBeginStartNowType(upTodateOrginMeetings)) { setSignupBeginsType(START_NOW);//overwrite previous value setSignupBegins(6);//default value; not used }/* www. ja va 2 s .c om*/ Date lastDate = new Date(); if (upTodateOrginMeetings == null || upTodateOrginMeetings.isEmpty()) return; /*if this is the last one*/ Calendar cal = Calendar.getInstance(); cal.setTime(this.signupMeeting.getStartTime()); cal.set(Calendar.MINUTE, 0); cal.set(Calendar.SECOND, 0); setRepeatUntil(cal.getTime()); int listSize = upTodateOrginMeetings.size(); if (listSize > 1) { /*set last recurred Date for recurrence events*/ lastDate = upTodateOrginMeetings.get(listSize - 1).getStartTime(); cal.setTime(lastDate); cal.set(Calendar.MINUTE, 0); cal.set(Calendar.SECOND, 0); setRepeatUntil(cal.getTime()); String repeatType = upTodateOrginMeetings.get(listSize - 1).getRepeatType(); if (repeatType != null && !ONCE_ONLY.equals(repeatType)) { setRepeatType(repeatType); setRepeatTypeUnknown(false); return; } /*The following code is to make it old version backward compatible * It will be cleaned after a while. */ Calendar calFirst = Calendar.getInstance(); Calendar calSecond = Calendar.getInstance(); /*The following code is to make it old version backward compatible*/ /* * we can only get approximate estimation by assuming it's a * succession. take the last two which are more likely be in a sequence */ calFirst.setTime(upTodateOrginMeetings.get(listSize - 2).getStartTime()); calFirst.set(Calendar.SECOND, 0); calFirst.set(Calendar.MILLISECOND, 0); calSecond.setTime(upTodateOrginMeetings.get(listSize - 1).getStartTime()); calSecond.set(Calendar.SECOND, 0); calSecond.set(Calendar.MILLISECOND, 0); int tmp = calSecond.get(Calendar.DATE); int daysDiff = (int) (calSecond.getTimeInMillis() - calFirst.getTimeInMillis()) / DAY_IN_MILLISEC; setRepeatTypeUnknown(false); if (daysDiff == perDay)//could have weekdays get into this one, not very accurate. setRepeatType(DAILY); else if (daysDiff == perWeek) setRepeatType(WEEKLY); else if (daysDiff == perBiweek) setRepeatType(BIWEEKLY); else if (daysDiff == 3 && calFirst.get(Calendar.DAY_OF_WEEK) == Calendar.FRIDAY) setRepeatType(WEEKDAYS); else { /*case:unknown repeatType*/ setRepeatTypeUnknown(true); } } }
From source file:org.exist.xquery.modules.mail.SendEmailFunction.java
/** * Returns the current date and time in an RFC822 format, suitable for an email Date Header * * @return RFC822 formated date and time as a String *//*from w w w. ja va2 s . co m*/ private String getDateRFC822() { String dateString = new String(); final Calendar rightNow = Calendar.getInstance(); //Day of the week switch (rightNow.get(Calendar.DAY_OF_WEEK)) { case Calendar.MONDAY: dateString = "Mon"; break; case Calendar.TUESDAY: dateString = "Tue"; break; case Calendar.WEDNESDAY: dateString = "Wed"; break; case Calendar.THURSDAY: dateString = "Thu"; break; case Calendar.FRIDAY: dateString = "Fri"; break; case Calendar.SATURDAY: dateString = "Sat"; break; case Calendar.SUNDAY: dateString = "Sun"; break; } dateString += ", "; //Date dateString += rightNow.get(Calendar.DAY_OF_MONTH); dateString += " "; //Month switch (rightNow.get(Calendar.MONTH)) { case Calendar.JANUARY: dateString += "Jan"; break; case Calendar.FEBRUARY: dateString += "Feb"; break; case Calendar.MARCH: dateString += "Mar"; break; case Calendar.APRIL: dateString += "Apr"; break; case Calendar.MAY: dateString += "May"; break; case Calendar.JUNE: dateString += "Jun"; break; case Calendar.JULY: dateString += "Jul"; break; case Calendar.AUGUST: dateString += "Aug"; break; case Calendar.SEPTEMBER: dateString += "Sep"; break; case Calendar.OCTOBER: dateString += "Oct"; break; case Calendar.NOVEMBER: dateString += "Nov"; break; case Calendar.DECEMBER: dateString += "Dec"; break; } dateString += " "; //Year dateString += rightNow.get(Calendar.YEAR); dateString += " "; //Time String tHour = Integer.toString(rightNow.get(Calendar.HOUR_OF_DAY)); if (tHour.length() == 1) { tHour = "0" + tHour; } String tMinute = Integer.toString(rightNow.get(Calendar.MINUTE)); if (tMinute.length() == 1) { tMinute = "0" + tMinute; } String tSecond = Integer.toString(rightNow.get(Calendar.SECOND)); if (tSecond.length() == 1) { tSecond = "0" + tSecond; } dateString += tHour + ":" + tMinute + ":" + tSecond + " "; //TimeZone Correction String tzSign = new String(); String tzHours = new String(); String tzMinutes = new String(); final TimeZone thisTZ = rightNow.getTimeZone(); int tzOffset = thisTZ.getOffset(rightNow.getTime().getTime()); //get timezone offset in milliseconds tzOffset = (tzOffset / 1000); //convert to seconds tzOffset = (tzOffset / 60); //convert to minutes //Sign if (tzOffset > 1) { tzSign = "+"; } else { tzSign = "-"; tzOffset *= -1; } //Calc Hours and Minutes? if (tzOffset >= 60) { //Minutes and Hours tzHours += (tzOffset / 60); //hours // do we need to prepend a 0 if (tzHours.length() == 1) { tzHours = "0" + tzHours; } tzMinutes += (tzOffset % 60); //minutes // do we need to prepend a 0 if (tzMinutes.length() == 1) { tzMinutes = "0" + tzMinutes; } } else { //Just Minutes tzHours = "00"; tzMinutes += tzOffset; // do we need to prepend a 0 if (tzMinutes.length() == 1) { tzMinutes = "0" + tzMinutes; } } dateString += tzSign + tzHours + tzMinutes; return dateString; }
From source file:com.alkacon.opencms.v8.calendar.CmsSerialDateWidget.java
/** * Returns the macro resolver with initialized macros to generate the serial date input form.<p> * /* w w w. ja va 2 s . c om*/ * @param cms an initialized instance of a CmsObject * @param widgetDialog the dialog where the widget is used on * @param param the widget parameter to generate the widget for * @return the macro resolver with initialized macros */ protected CmsMacroResolver getMacroResolverForForm(CmsObject cms, I_CmsWidgetDialog widgetDialog, I_CmsWidgetParameter param) { CmsMacroResolver resolver = CmsMacroResolver.newInstance(); // set cms object and localized messages in resolver resolver.setCmsObject(cms); CmsMessages messages = new CmsMessages(CmsSerialDateWidget.class.getPackage().getName() + ".messages", widgetDialog.getLocale()); resolver.setMessages(messages); // delete empty macros which were not replaced resolver.setKeepEmptyMacros(false); // create the serial entry date object String paramValue = param.getStringValue(cms); Map<String, String> params = CmsStringUtil.splitAsMap(paramValue, String.valueOf(CmsProperty.VALUE_LIST_DELIMITER), String.valueOf(CmsProperty.VALUE_MAP_DELIMITER)); // create the entry date from the field values CmsCalendarEntryDateSerial entryDate = CmsCalendarSerialDateFactory.getSerialDate(params, widgetDialog.getLocale()); if (entryDate == null) { // no entry date created yet, build an empty default date Calendar start = new GregorianCalendar(widgetDialog.getLocale()); Calendar end = (Calendar) start.clone(); entryDate = new CmsCalendarEntryDateSerial(start, end); entryDate.setSerialEndType(I_CmsCalendarSerialDateOptions.END_TYPE_NEVER); } // vars for daily options String dayDailyInterval = "1"; boolean dayEveryWorkingDay = false; // vars for weekly options String weekWeeklyInterval = "1"; // vars for monthly options int monthSelectedIndexWeekDayOfMonth = 0; int monthSelectedWeekDay = -1; String monthDayOfMonth = "1"; String monthMonthlyInterval = "1"; String monthMonthlyIntervalWeekDay = "1"; boolean monthUseWeekday = false; // vars for yearly options String yearDayOfMonth = "1"; boolean yearUseWeekday = false; int yearSelectedIndexMonth = 0; int yearSelectedIndexWeekDayOfMonth = 0; int yearSelectedWeekDayDay = -1; int yearSelectedIndexWeekDayMonth = 0; if (entryDate.getSerialOptions() != null) { // fill the variables depending on the selected serial date type String serialTypeMacroPrefix = MACRO_PREFIX_PARAMVALUE + PARAM_SERIALTYPE + "."; // set serial type radio selection resolver.addMacro(serialTypeMacroPrefix + entryDate.getSerialOptions().getSerialType(), ATTR_CHECKED); switch (entryDate.getSerialOptions().getSerialType()) { // set values for the selected serial type case I_CmsCalendarSerialDateOptions.TYPE_DAILY: CmsCalendarSerialDateDailyOptions dailyOptions = (CmsCalendarSerialDateDailyOptions) entryDate .getSerialOptions(); dayEveryWorkingDay = dailyOptions.isEveryWorkingDay(); dayDailyInterval = String.valueOf(dailyOptions.getDailyInterval()); break; case I_CmsCalendarSerialDateOptions.TYPE_WEEKLY: CmsCalendarSerialDateWeeklyOptions weeklyOptions = (CmsCalendarSerialDateWeeklyOptions) entryDate .getSerialOptions(); weekWeeklyInterval = String.valueOf(weeklyOptions.getWeeklyInterval()); // check the chosen week day checkboxes serialTypeMacroPrefix = MACRO_PREFIX_PARAMVALUE + PARAM_WEEK_WEEKDAY + "."; if (weeklyOptions.getWeekDays().contains(new Integer(Calendar.MONDAY))) { resolver.addMacro(serialTypeMacroPrefix + Calendar.MONDAY, ATTR_CHECKED); } if (weeklyOptions.getWeekDays().contains(new Integer(Calendar.TUESDAY))) { resolver.addMacro(serialTypeMacroPrefix + Calendar.TUESDAY, ATTR_CHECKED); } if (weeklyOptions.getWeekDays().contains(new Integer(Calendar.WEDNESDAY))) { resolver.addMacro(serialTypeMacroPrefix + Calendar.WEDNESDAY, ATTR_CHECKED); } if (weeklyOptions.getWeekDays().contains(new Integer(Calendar.THURSDAY))) { resolver.addMacro(serialTypeMacroPrefix + Calendar.THURSDAY, ATTR_CHECKED); } if (weeklyOptions.getWeekDays().contains(new Integer(Calendar.FRIDAY))) { resolver.addMacro(serialTypeMacroPrefix + Calendar.FRIDAY, ATTR_CHECKED); } if (weeklyOptions.getWeekDays().contains(new Integer(Calendar.SATURDAY))) { resolver.addMacro(serialTypeMacroPrefix + Calendar.SATURDAY, ATTR_CHECKED); } if (weeklyOptions.getWeekDays().contains(new Integer(Calendar.SUNDAY))) { resolver.addMacro(serialTypeMacroPrefix + Calendar.SUNDAY, ATTR_CHECKED); } break; case I_CmsCalendarSerialDateOptions.TYPE_MONTHLY: CmsCalendarSerialDateMonthlyOptions monthlyOptions = (CmsCalendarSerialDateMonthlyOptions) entryDate .getSerialOptions(); monthUseWeekday = monthlyOptions.isUseWeekDay(); if (!monthlyOptions.isUseWeekDay()) { monthDayOfMonth = String.valueOf(monthlyOptions.getDayOfMonth()); monthMonthlyInterval = String.valueOf(monthlyOptions.getMonthlyInterval()); } else { // set selected index of select boxes monthSelectedIndexWeekDayOfMonth = monthlyOptions.getDayOfMonth() - 1; monthSelectedWeekDay = monthlyOptions.getWeekDay(); monthMonthlyIntervalWeekDay = String.valueOf(monthlyOptions.getMonthlyInterval()); } break; case I_CmsCalendarSerialDateOptions.TYPE_YEARLY: CmsCalendarSerialDateYearlyOptions yearlyOptions = (CmsCalendarSerialDateYearlyOptions) entryDate .getSerialOptions(); yearUseWeekday = yearlyOptions.isUseWeekDay(); if (!yearlyOptions.isUseWeekDay()) { yearDayOfMonth = String.valueOf(yearlyOptions.getDayOfMonth()); yearSelectedIndexMonth = yearlyOptions.getMonth(); } else { yearSelectedIndexWeekDayOfMonth = yearlyOptions.getDayOfMonth() - 1; yearSelectedWeekDayDay = yearlyOptions.getWeekDay(); yearSelectedIndexWeekDayMonth = yearlyOptions.getMonth(); } break; default: // nothing do do here, should never happen } } else { // no serial entry created yet, add some defaults resolver.addMacro( MACRO_PREFIX_PARAMVALUE + PARAM_SERIALTYPE + "." + I_CmsCalendarSerialDateOptions.TYPE_DAILY, ATTR_CHECKED); resolver.addMacro(MACRO_PREFIX_PARAMVALUE + PARAM_WEEK_WEEKDAY + "." + Calendar.MONDAY, ATTR_CHECKED); } // set time settings String startTime = getCalendarLocalizedTime(widgetDialog.getLocale(), widgetDialog.getMessages(), entryDate.getStartDate().getTimeInMillis(), false, true); resolver.addMacro(MACRO_PREFIX_PARAMVALUE + PARAM_STARTTIME, startTime); String endTime = ""; if (!entryDate.getStartDate().equals(entryDate.getEndDate())) { // end time is different from start time, get localized value endTime = getCalendarLocalizedTime(widgetDialog.getLocale(), widgetDialog.getMessages(), entryDate.getEndDate().getTimeInMillis(), false, true); } resolver.addMacro(MACRO_PREFIX_PARAMVALUE + PARAM_ENDTIME, endTime); resolver.addMacro("select.durationdays", buildSelectDurationDays(PARAM_DURATIONDAYS, messages, entryDate.getDuration())); // set found values to serial option tabs // daily options resolver.addMacro(MACRO_PREFIX_PARAMVALUE + PARAM_DAY_DAILYINTERVAL, dayDailyInterval); resolver.addMacro(MACRO_PREFIX_PARAMVALUE + PARAM_DAY_EVERYWORKINGDAY + "." + dayEveryWorkingDay, ATTR_CHECKED); // weekly options resolver.addMacro(MACRO_PREFIX_PARAMVALUE + PARAM_WEEK_WEEKLYINTERVAL, weekWeeklyInterval); // monthly options // mark the correct radio resolver.addMacro(MACRO_PREFIX_PARAMVALUE + PARAM_MONTH_SERIALMONTHDAY + "." + monthUseWeekday, ATTR_CHECKED); // set the macros for the day of month options resolver.addMacro(MACRO_PREFIX_PARAMVALUE + PARAM_MONTH_DAYOFMONTH, monthDayOfMonth); resolver.addMacro(MACRO_PREFIX_PARAMVALUE + PARAM_MONTH_MONTHLYINTERVAL, monthMonthlyInterval); // set the macros for the week day of month options resolver.addMacro(MACRO_PREFIX_PARAMVALUE + PARAM_MONTH_MONTHLYINTERVALWEEKDAY, monthMonthlyIntervalWeekDay); // build the select boxes resolver.addMacro("select.monthnumberofweekday", buildSelectNumberOfWeekDayOfMonth( PARAM_MONTH_NUMBEROFWEEKDAYOFMONTH, "onfocus=\"document.getElementById('" + PARAM_MONTH_SERIALMONTHDAY + ".true').checked = true;\"", messages, monthSelectedIndexWeekDayOfMonth)); resolver.addMacro("select.monthweekday", buildSelectWeekDay(PARAM_MONTH_WEEKDAY, "onfocus=\"document.getElementById('" + PARAM_MONTH_SERIALMONTHDAY + ".true').checked = true;\"", messages, monthSelectedWeekDay)); // yearly options // mark the correct radio resolver.addMacro(MACRO_PREFIX_PARAMVALUE + PARAM_YEAR_SERIALYEARDAY + "." + yearUseWeekday, ATTR_CHECKED); // set the macros for the day of month options resolver.addMacro(MACRO_PREFIX_PARAMVALUE + PARAM_YEAR_DAYOFMONTH, yearDayOfMonth); resolver.addMacro("select.yearmonth", buildSelectMonth(PARAM_YEAR_MONTH, "onfocus=\"document.getElementById('" + PARAM_YEAR_SERIALYEARDAY + ".false').checked = true;\"", messages, yearSelectedIndexMonth)); // set the macros for the week day of month options resolver.addMacro("select.yearnumberofweekday", buildSelectNumberOfWeekDayOfMonth(PARAM_YEAR_WEEKDAYOFMONTH, "onfocus=\"document.getElementById('" + PARAM_YEAR_SERIALYEARDAY + ".true').checked = true;\"", messages, yearSelectedIndexWeekDayOfMonth)); resolver.addMacro("select.yearweekday", buildSelectWeekDay(PARAM_YEAR_WEEKDAY, "onfocus=\"document.getElementById('" + PARAM_YEAR_SERIALYEARDAY + ".true').checked = true;\"", messages, yearSelectedWeekDayDay)); resolver.addMacro("select.yearmonthweekday", buildSelectMonth(PARAM_YEAR_WEEKDAYMONTH, "onfocus=\"document.getElementById('" + PARAM_YEAR_SERIALYEARDAY + ".true').checked = true;\"", messages, yearSelectedIndexWeekDayMonth)); // set serial duration values // set start date resolver.addMacro("calendar.startdate", buildDateInput("startdate", widgetDialog, entryDate.getStartDate())); Calendar serialEndDate = entryDate.getSerialEndDate(); if (serialEndDate == null) { serialEndDate = entryDate.getStartDate(); } resolver.addMacro("calendar.serialenddate", buildDateInput("serialenddate", widgetDialog, serialEndDate)); // set occurences int occurences = 10; if (entryDate.getSerialEndType() == I_CmsCalendarSerialDateOptions.END_TYPE_TIMES) { occurences = entryDate.getOccurences(); } resolver.addMacro(MACRO_PREFIX_PARAMVALUE + PARAM_OCCURENCES, String.valueOf(occurences)); // set the end type radio buttons resolver.addMacro(MACRO_PREFIX_PARAMVALUE + PARAM_ENDTYPE + "." + entryDate.getSerialEndType(), ATTR_CHECKED); return resolver; }