fork download
  1. /* package whatever; // don't place package name! */
  2.  
  3. import java.util.*;
  4. import java.time.*;
  5. import java.time.temporal.*;
  6. import java.time.format.*;
  7.  
  8. /* Name of the class has to be "Main" only if the class is public. */
  9. class Ideone
  10. {
  11. public static void main (String[] args) throws java.lang.Exception
  12. {
  13. LocalDate dt = LocalDate.of(2000, 1, 1);
  14. printWeekFields(dt, WeekFields.ISO);
  15. printWeekFields(dt, WeekFields.of(DayOfWeek.SUNDAY, 1));
  16. }
  17.  
  18. static void printWeekFields(LocalDate dt, WeekFields wf) {
  19. System.out.println("\n-------------\nCampos para " + dt + " (primeiro dia da semana: "
  20. + wf.getFirstDayOfWeek().getDisplayName(TextStyle.FULL, new Locale("pt", "BR")) + ", mínimo de dias na primeira semana: "
  21. + wf.getMinimalDaysInFirstWeek() + ")");
  22. System.out.println("semana " + dt.get(wf.weekOfWeekBasedYear()) + " do week-based year " + dt.get(wf.weekBasedYear()));
  23. System.out.println("semana dentro do mês (usando a definição de semana do WeekFields): " + dt.get(wf.weekOfMonth()));
  24. System.out.println("semana do mês (usando o dia 1 como o início da primeira semana): " + dt.get(ChronoField.ALIGNED_WEEK_OF_MONTH));
  25. }
  26. }
Success #stdin #stdout 0.19s 40784KB
stdin
Standard input is empty
stdout
-------------
Campos para 2000-01-01 (primeiro dia da semana: segunda-feira, mínimo de dias na primeira semana: 4)
semana 52 do week-based year 1999
semana dentro do mês (usando a definição de semana do WeekFields): 0
semana do mês (usando o dia 1 como o início da primeira semana): 1

-------------
Campos para 2000-01-01 (primeiro dia da semana: domingo, mínimo de dias na primeira semana: 1)
semana 1 do week-based year 2000
semana dentro do mês (usando a definição de semana do WeekFields): 1
semana do mês (usando o dia 1 como o início da primeira semana): 1