下面列出了java.util.Calendar#getMinimum ( ) 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。
private String formatTimeFromHours(int timeInHours)
{
if (timeInHours < 0) { return null; }
Calendar cDate = Calendar.getInstance();
cDate.clear();
cDate.set(Calendar.YEAR, 0);
cDate.add(Calendar.HOUR, timeInHours);
int years = cDate.get(Calendar.YEAR) - cDate.getMinimum(Calendar.YEAR);
int months = cDate.get(Calendar.MONTH);
int days = cDate.get(Calendar.DAY_OF_MONTH) - 1;
int hours = cDate.get(Calendar.HOUR_OF_DAY);
String yearsString = (years < 10) ? "0" + years : years + "";
String monthsString = (months < 10) ? "0" + months : months + "";
String daysString = (days < 10) ? "0" + days : days + "";
String hoursString = (hours < 10) ? "0" + hours : hours + "";
return yearsString + monthsString + daysString + hoursString + "0000000R";
}
/**
* 得到当月第一天
* @return
*/
public static Date getFirstDayOfMonth() {
Calendar cal = Calendar.getInstance();
int firstDay = cal.getMinimum(Calendar.DAY_OF_MONTH);
cal.set(Calendar.DAY_OF_MONTH, firstDay);
return cal.getTime();
}
/**
* 得到下月的第一天
* @return
*/
public static Date getFirstDayOfNextMonth() {
Calendar cal = Calendar.getInstance();
cal.add(Calendar.MONTH, +1);
int firstDay = cal.getMinimum(Calendar.DAY_OF_MONTH);
cal.set(Calendar.DAY_OF_MONTH, firstDay);
return cal.getTime();
}
private void setViewMode(final ViewMode mode) {
viewMode = mode;
Calendar viewModeCalender = Calendar.getInstance();
viewModeCalender.setTime(lastMeasurement.getDateTime());
switch (mode) {
case DAY_OF_MONTH:
minXValue = viewModeCalender.getMinimum(Calendar.DAY_OF_MONTH);
maxXValue = viewModeCalender.getMaximum(Calendar.DAY_OF_MONTH);
break;
case WEEK_OF_MONTH:
minXValue = 1;
maxXValue = viewModeCalender.getActualMaximum(Calendar.WEEK_OF_MONTH);
break;
case WEEK_OF_YEAR:
minXValue = viewModeCalender.getActualMinimum(Calendar.WEEK_OF_YEAR);
maxXValue = viewModeCalender.getActualMaximum(Calendar.WEEK_OF_YEAR);
break;
case MONTH_OF_YEAR:
minXValue = viewModeCalender.getActualMinimum(Calendar.MONTH);
maxXValue = viewModeCalender.getActualMaximum(Calendar.MONTH);
break;
case DAY_OF_YEAR:
minXValue = viewModeCalender.getActualMinimum(Calendar.DAY_OF_YEAR);
maxXValue = viewModeCalender.getActualMaximum(Calendar.DAY_OF_YEAR);
break;
case DAY_OF_ALL:
case WEEK_OF_ALL:
case MONTH_OF_ALL:
case YEAR_OF_ALL:
minXValue = convertDateInShort(firstMeasurement.getDateTime());
maxXValue = convertDateInShort(lastMeasurement.getDateTime());
break;
default:
throw new IllegalArgumentException("view mode not implemented");
}
setXValueFormat(mode);
}
private static int calFieldLen(Calendar cal, int field) {
return cal.getMaximum(field) - cal.getMinimum(field) + 1;
}
/**
* 得到格式化后的当月第一天,格式为yyyy-MM-dd,如2006-02-01
*
* @param currDate
* 要格式化的日期
* @see Calendar#getMinimum(int)
* @see #getFormatDate(Date, String)
* @return String 返回格式化后的当月第一天,格式为yyyy-MM-dd,如2006-02-01
*/
public static String getFirstDayOfMonth() {
Calendar cal = Calendar.getInstance();
int firstDay = cal.getMinimum(Calendar.DAY_OF_MONTH);
cal.set(Calendar.DAY_OF_MONTH, firstDay);
return getFormatDate(cal.getTime(), DATE_FORMAT);
}
/**
* 得到格式化后的下月第一天,格式为yyyy-MM-dd,如2006-02-01
*
* @param currDate
* 要格式化的日期
* @see Calendar#getMinimum(int)
* @see #getFormatDate(Date, String)
* @return String 返回格式化后的下月第一天,格式为yyyy-MM-dd,如2006-02-01
*/
public static String getFirstDayOfNextMonth() {
Calendar cal = Calendar.getInstance();
cal.add(Calendar.MONTH, +1);
int firstDay = cal.getMinimum(Calendar.DAY_OF_MONTH);
cal.set(Calendar.DAY_OF_MONTH, firstDay);
return formatDate(cal.getTime());
}