Skip to content

Instantly share code, notes, and snippets.

@hatappo
Last active December 14, 2015 15:09
Show Gist options
  • Save hatappo/5105837 to your computer and use it in GitHub Desktop.
Save hatappo/5105837 to your computer and use it in GitHub Desktop.
[java] getMaximum getActualMaximum getLeastMaximum の違い。
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
public class Main {
public static void main(String[] args) throws ParseException {
Calendar c = Calendar.getInstance();
c.setTime(new SimpleDateFormat("yyyy-MM-dd hh:mm:ss").parse("2012-02-20 00:00:00"));
System.out.println(c.get(Calendar.DATE)); // -> 20
System.out.println(c.getMinimum(Calendar.DATE)); // -> 1
System.out.println(c.getActualMinimum(Calendar.DATE)); // -> 1
System.out.println(c.getGreatestMinimum(Calendar.DATE)); // -> 1
System.out.println(c.getMaximum(Calendar.DATE)); // -> 31 ★ 引数のフィールドが取りうる最大値。
System.out.println(c.getActualMaximum(Calendar.DATE)); // -> 29 ★ 引数のフィールドが、このCalendarオブジェクトのその他のフィールド(この場合DATE以外のフィールド)との整合性において取りうる最大値。
System.out.println(c.getLeastMaximum(Calendar.DATE)); // -> 28 ★ 引数のフィールドがMAX値として取りうる値の中での最小値。
c.setTime(new SimpleDateFormat("yyyy-MM-dd hh:mm:ss").parse("2013-02-20 00:00:00"));
System.out.println(c.get(Calendar.DATE)); // -> 20
System.out.println(c.getMinimum(Calendar.DATE)); // -> 1
System.out.println(c.getActualMinimum(Calendar.DATE)); // -> 1
System.out.println(c.getGreatestMinimum(Calendar.DATE)); // -> 1
System.out.println(c.getMaximum(Calendar.DATE)); // -> 31
System.out.println(c.getActualMaximum(Calendar.DATE)); // -> 28 ★ 2013年はうるう年ではないので、「正確な最大値」は 28。
System.out.println(c.getLeastMaximum(Calendar.DATE)); // -> 28
}
}
@hatappo
Copy link
Author

hatappo commented Mar 7, 2013

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment