Java Code Examples for java.util.Calendar#setFirstDayOfWeek()

The following examples show how to use java.util.Calendar#setFirstDayOfWeek() . These examples are extracted from open source projects. You can vote up the ones you like or vote down the ones you don't like, and go to the original project or source file by following the links above each example. You may want to check out the right sidebar which shows the related API usage.
Example 1
/**
 * returns a date based on a week number
 *
 * @param year           The year of the date
 * @param week           The week of the date
 * @param calendar       The calendar used to calculate the date
 * @param firstDayOfWeek The first day of the week
 * @return The Date of the week
 */
private Date getDateTimeFromWeek(int year, int week, Calendar calendar, Integer firstDayOfWeek)
        throws IllegalArgumentException {
    if (week < 1 || week > 53) {
        throw new IllegalArgumentException("The week number is outside the year week range.");
    }

    calendar.setFirstDayOfWeek(firstDayOfWeek);
    calendar.setMinimalDaysInFirstWeek(4);
    calendar.set(Calendar.YEAR, year);
    calendar.set(Calendar.WEEK_OF_YEAR, week);
    calendar.set(Calendar.DAY_OF_WEEK, firstDayOfWeek);
    calendar.set(Calendar.HOUR_OF_DAY, 10);

    return calendar.getTime();
}
 
Example 2
Source Project: ClassSchedule   File: TimeUtils.java    License: Apache License 2.0 6 votes vote down vote up
public static Date getThisWeekMonday(Date date) {
    Calendar cal = Calendar.getInstance();
    cal.setTime(date);
    // 获得当前日期是一个星期的第几天
    int dayWeek = cal.get(Calendar.DAY_OF_WEEK);
    if (1 == dayWeek) {
        cal.add(Calendar.DAY_OF_MONTH, -1);
    }
    // 设置一个星期的第一天,按中国的习惯一个星期的第一天是星期一
    cal.setFirstDayOfWeek(Calendar.MONDAY);
    // 获得当前日期是一个星期的第几天
    int day = cal.get(Calendar.DAY_OF_WEEK);
    // 根据日历的规则,给当前日期减去星期几与一个星期第一天的差值
    cal.add(Calendar.DATE, cal.getFirstDayOfWeek() - day);
    return cal.getTime();
}
 
Example 3
Source Project: hop   File: ValueDataUtil.java    License: Apache License 2.0 6 votes vote down vote up
public static Object yearOfDateISO8601( IValueMeta metaA, Object dataA ) throws HopValueException {
  if ( dataA == null ) {
    return null;
  }

  Calendar calendar = Calendar.getInstance( Locale.ENGLISH );
  calendar.setMinimalDaysInFirstWeek( 4 );
  calendar.setFirstDayOfWeek( Calendar.MONDAY );
  calendar.setTime( metaA.getDate( dataA ) );

  int week = calendar.get( Calendar.WEEK_OF_YEAR );
  int month = calendar.get( Calendar.MONTH );
  int year = calendar.get( Calendar.YEAR );

  // fix up for the year taking into account ISO8601 weeks
  if ( week >= 52 && month == 0 ) {
    year--;
  }
  if ( week <= 2 && month == 11 ) {
    year++;
  }

  return new Long( year );
}
 
Example 4
Source Project: howsun-javaee-framework   File: Dates.java    License: Apache License 2.0 6 votes vote down vote up
public static boolean isThisWeek(Calendar date){
	Calendar today = Calendar.getInstance();
	date.setFirstDayOfWeek(Calendar.MONDAY);
	today.setFirstDayOfWeek(Calendar.MONDAY);
	return     date.get(Calendar.YEAR)         == today.get(Calendar.YEAR)
			&& date.get(Calendar.WEEK_OF_YEAR) == today.get(Calendar.WEEK_OF_YEAR);
}
 
Example 5
@Override
public String format(DateTime timestamp) {
    Calendar c = Calendar.getInstance(timestamp.getZone().toTimeZone(), LOCALE);
    c.setFirstDayOfWeek(Calendar.SUNDAY);
    c.setMinimalDaysInFirstWeek(7);
    c.setTimeInMillis(timestamp.getMillis());

    int week = c.get(Calendar.WEEK_OF_YEAR);
    int weekYear = c.getWeekYear();
    int year = c.get(Calendar.YEAR);
    if (weekYear < year) {
        // get weeks from last year
        c.add(Calendar.DAY_OF_MONTH, -7);
        week = c.getWeeksInWeekYear();
    }
    return zeroPadded(2, String.valueOf(week));
}
 
Example 6
Source Project: AndroidBase   File: DateUtil.java    License: Apache License 2.0 6 votes vote down vote up
/**
 * 获取当前日期当前一周的开始日期 (周日)
 */
public static String getCurrentWeekFirstDayByDate(String date) {
    int year = Integer.parseInt(date.substring(0, 4));
    int month = Integer.parseInt(date.substring(4, 6));
    int day = Integer.parseInt(date.substring(6));
    Calendar calendar = Calendar.getInstance();
    calendar.set(year, month - 1, day);
    Date newdate = calendar.getTime();
    SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd");
    Calendar cal = Calendar.getInstance();
    cal.setTime(newdate);
    int dayWeek = cal.get(Calendar.DAY_OF_WEEK);//获得当前日期是一个星期的第几天
    if (1 == dayWeek) {
        cal.add(Calendar.DAY_OF_MONTH, -1);
    }
    cal.setFirstDayOfWeek(Calendar.SUNDAY);//设置一个星期的第一天,按中国的习惯一个星期的第一天是星期一
    int s = cal.get(Calendar.DAY_OF_WEEK);//获得当前日期是一个星期的第几天
    cal.add(Calendar.DATE, cal.getFirstDayOfWeek() - s);//根据日历的规则,给当前日期减往星期几与一个星期第一天的差值 

    String imptimeBegin = sdf.format(cal.getTime());
    //  System.out.println("所在周星期日的日期:"+imptimeBegin);
    return imptimeBegin;
}
 
Example 7
@Override
public String format(DateTime timestamp) {
    Calendar c = Calendar.getInstance(timestamp.getZone().toTimeZone(), LOCALE);
    c.setFirstDayOfWeek(Calendar.MONDAY);
    c.setMinimalDaysInFirstWeek(4);
    c.setTimeInMillis(timestamp.getMillis());

    int week = c.get(Calendar.WEEK_OF_YEAR);
    int weekYear = c.getWeekYear();
    int year = c.get(Calendar.YEAR);
    if (weekYear < year) {
        // get weeks from last year
        c.add(Calendar.DAY_OF_MONTH, -7);
        week = c.getWeeksInWeekYear();
    }
    return zeroPadded(2, String.valueOf(week));
}
 
Example 8
Source Project: MyTv   File: DateUtils.java    License: Apache License 2.0 5 votes vote down vote up
/**
 * 获取指定時間一周的日期列表
 * 
 * @param date
 * @return
 */
public static Date[] getWeek(Date date) {
	Date[] dates = new Date[7];
	Calendar calendar = Calendar.getInstance();
	calendar.setTime(date);
	calendar.setFirstDayOfWeek(Calendar.MONDAY);
	calendar.set(Calendar.DAY_OF_WEEK, Calendar.MONDAY);
	for (int i = 0; i < 7; i++) {
		dates[i] = calendar.getTime();
		calendar.add(Calendar.DAY_OF_YEAR, 1);
	}
	return dates;
}
 
Example 9
/**
 * 4080631: Calendar.hashCode is amazingly bad
 */
public void Test4080631() {
    Calendar cal = Calendar.getInstance();
    int h1 = cal.hashCode();
    cal.add(SECOND, +1);
    int h2 = cal.hashCode();
    Calendar cal2 = (Calendar) cal.clone();
    cal.add(MILLISECOND, +1);
    int h3 = cal.hashCode();
    logln("hash code: h1=" + h1 + ", h2=" + h2 + ", h3=" + h3);
    if (h1 == h2 || h1 == h3 || h2 == h3) {
        errln("hash code is poor: hashCode=" + h1);
    }
    h2 = cal2.hashCode();
    cal.add(MILLISECOND, -1);
    int h4 = cal.hashCode();
    logln("hash code: h2=" + h2 + ", h4=" + h4);
    if (cal.equals(cal2) && h2 != h4) {
        errln("broken hash code: h2=" + h2 + ", h4=" + h4);
    }
    int x = cal.getFirstDayOfWeek() + 3;
    if (x > SATURDAY) {
        x -= 7;
    }
    cal.setFirstDayOfWeek(x);
    int h5 = cal.hashCode();
    logln("hash code: h4=" + h4 + ", h5=" + h5);
    if (h4 == h5) {
        errln("has code is poor with first day of week param: hashCode=" + h4);
    }
}
 
Example 10
/**
 * 获取日期在一年中的周数
 * 结果从1开始
 * @param dateString yyyy-mm-dd
 * @return
 * @throws Exception 
 */
public  int getWeekNumOfYear( String dateString ) throws Exception{
	Date date = getDateFromString( dateString , "yyyy-MM-dd");
	Calendar cal = Calendar.getInstance();
	cal.setTime(date);
	cal.setFirstDayOfWeek(2); //设置每周的第一天是星期一
	return cal.get(Calendar.WEEK_OF_YEAR);
}
 
Example 11
Source Project: xiaoV   File: DateUtil.java    License: GNU General Public License v3.0 5 votes vote down vote up
public static Date getFirstDayOfWeek(Date date) {
	Calendar c = new GregorianCalendar();
	c.setFirstDayOfWeek(Calendar.MONDAY);
	c.setTime(date);
	c.set(Calendar.DAY_OF_WEEK, c.getFirstDayOfWeek()); // Monday
	return c.getTime();
}
 
Example 12
private void setFirstDayOfWeekAndMinimalDaysInFirstWeek(Calendar startCalendar, int weekStartDay) {
    startCalendar.getTime();
    startCalendar.setFirstDayOfWeek(weekStartDay);
    startCalendar.setMinimalDaysInFirstWeek(4);
    startCalendar.set(Calendar.DAY_OF_WEEK, weekStartDay);

}
 
Example 13
/**
 * 取得指定日期所在周的最后一天
 */
public static Date getLastDayOfWeek(Date date) {
    Calendar c = Calendar.getInstance();
    c.setFirstDayOfWeek(Calendar.SUNDAY);
    c.setTime(date);
    c.set(Calendar.DAY_OF_WEEK, c.getFirstDayOfWeek() + 6); // Sunday
    return c.getTime();
}
 
Example 14
public  String getStartOfWeek(String dateString) throws Exception{
	SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
	Date date = format.parse(dateString);
	Calendar cal = Calendar.getInstance();
	cal.setTime(date);
	cal.setFirstDayOfWeek(Calendar.MONDAY);
	int tmp = cal.get(Calendar.DAY_OF_WEEK) - 1;
	if (0 == tmp) {
		tmp = 7;
	}
	cal.add(Calendar.DATE, -(tmp-1));
	return getDateStringFromDate(cal.getTime(), "yyyy-MM-dd") + " 00:00:00";
}
 
Example 15
private int getWeekCountBasedOnMode() {
    int weekCount = calendarMode.visibleWeeksCount;
    boolean isInMonthsMode = calendarMode.equals(CalendarMode.MONTHS);
    if (isInMonthsMode && mDynamicHeightEnabled && adapter != null && pager != null) {
        Calendar cal = (Calendar) adapter.getItem(pager.getCurrentItem()).getCalendar().clone();
        cal.set(Calendar.DAY_OF_MONTH, cal.getActualMaximum(Calendar.DAY_OF_MONTH));
        //noinspection ResourceType
        cal.setFirstDayOfWeek(getFirstDayOfWeek());
        weekCount = cal.get(Calendar.WEEK_OF_MONTH);
    }
    return weekCount + DAY_NAMES_ROW;
}
 
Example 16
Source Project: symphonyx   File: Times.java    License: Apache License 2.0 5 votes vote down vote up
/**
 * Gets the week start time with the specified time.
 *
 * @param time the specified time
 * @return week start time
 */
public static long getWeekStartTime(final long time) {
    final Calendar start = Calendar.getInstance();

    start.setFirstDayOfWeek(Calendar.MONDAY);

    start.setTimeInMillis(time);
    start.set(Calendar.DAY_OF_WEEK, Calendar.MONDAY);
    start.set(Calendar.HOUR, 0);
    start.set(Calendar.MINUTE, 0);
    start.set(Calendar.SECOND, 0);
    start.set(Calendar.MILLISECOND, 0);

    return start.getTime().getTime();
}
 
Example 17
/**
 * 获取日期在一年中的周数
 * 结果从1开始
 * @param dateString yyyy-mm-dd
 * @return
 */
public  int getWeekNumOfYear( Date date ){
	try {
		Calendar cal = Calendar.getInstance();
		cal.setTime(date);
		cal.setFirstDayOfWeek(2);//设置每周的第一天是星期一
		return cal.get( Calendar.WEEK_OF_YEAR );
	} catch (Exception e) {
		logger.warn( "系统getWeekNumOfYear发生异常");
		logger.error(e);
	}
	return -1;
}
 
Example 18
public  String getEndOfWeek(String dateString) throws Exception{
	Date date = getDateFromString(getStartOfWeek(dateString), "yyyy-MM-dd HH:mm:ss");
	Calendar cal = Calendar.getInstance();
	cal.setTime(date);
	cal.setFirstDayOfWeek(Calendar.MONDAY);
	cal.add(Calendar.DATE, 6);
	return getDateStringFromDate(cal.getTime(), "yyyy-MM-dd") + " 23:59:59";
}
 
Example 19
Source Project: phoebus   File: IndexNameHelper.java    License: Eclipse Public License 1.0 4 votes vote down vote up
private void setDateSpanStartAndEnd(Instant time)
{
    Calendar calendar = new GregorianCalendar();
    calendar.setTimeInMillis(time.toEpochMilli());
    calendar.setFirstDayOfWeek(Calendar.SUNDAY);

    Integer dateSpanField = -1;

    if (dateSpanUnit.equals(YEAR))
    {
        // Roll the year back to the beginning (midnight of the first of the year).
        dateSpanField = Calendar.YEAR;
        calendar.set(Calendar.MONTH, Calendar.JANUARY);
        calendar.set(Calendar.WEEK_OF_MONTH, 1);
        calendar.set(Calendar.DAY_OF_MONTH, 1);
    }
    if (dateSpanUnit.equals(MONTH))
    {
        // Roll the month back to the beginning (midnight of the first of the month).
        dateSpanField = Calendar.MONTH;
        calendar.set(Calendar.WEEK_OF_MONTH, 1);
        calendar.set(Calendar.DAY_OF_MONTH, 1);
    }
    if (dateSpanUnit.equals(WEEK))
    {
        // Roll the week back to the beginning (midnight Sunday).
        dateSpanField = Calendar.WEEK_OF_YEAR;
        calendar.set(Calendar.DAY_OF_WEEK, Calendar.SUNDAY);
    }
    if (dateSpanUnit.equals(DAY))
        dateSpanField = Calendar.DATE;

    // Roll the day back to midnight
    calendar.set(Calendar.HOUR_OF_DAY, 0);
    calendar.set(Calendar.MINUTE, 0);
    calendar.set(Calendar.SECOND, 0);
    calendar.set(Calendar.MILLISECOND, 0);

    spanStart = calendar.toInstant();

    calendar.add(dateSpanField, dateSpanValue);

    spanEnd = calendar.toInstant();
}
 
Example 20
/**
 * Return if the date given is a first day of week
 *
 * @param year
 *         The year of the date.
 * @param month
 *         The month of the date.
 * @param day
 *         The day of the date.
 * @return true or false
 */
@SuppressLint("WrongConstant") public static boolean isFirstDayOfWeek(int year, int month, int day) {
    Calendar calendar = Calendar.getInstance();
    calendar.set(year, month - 1, day);
    calendar.add(Calendar.SECOND, 0);
    calendar.setFirstDayOfWeek(Calendar.SUNDAY);

    return calendar.get(Calendar.DAY_OF_WEEK) == 1;
}