java - que - qué semana del año estamos 2018
fin de semana de calendario de java de la semana actual (6)
Java usando el calendario Quiero obtener la fecha del fin de semana actual, cualquier idea rápida
Prueba esto:
String dayNames[]={"lundi","mardi","mercredi","jeudi","vendredi","samedi","dimanche"};
String nomthNames[]={"janvier","février","mars","avril","mai","juin","juillet","Août","septembre","octobre","novembre","decembre"};
Calendar date = Calendar.getInstance();
String dayName = dayNames[date.get(Calendar.DAY_OF_WEEK)];
String dayMonth = nomthNames[date.get(Calendar.MONTH)];
lblBonjour.setText("<html><b>Bonjour, "+new Functions().getNomPrenom(myID)+"</b><br>"+
"Ajourd''hui "+dayName+" "+date.get(Calendar.DATE)+" "+dayMonth+" "+date.get(Calendar.YEAR)+"<br>"+
"Heure locale: "+date.get(Calendar.HOUR_OF_DAY)+":"+date.get(Calendar.MINUTE) );
Calendar c = Calendar.getInstance();
c.set(Calendar.DAY_OF_WEEK, Calendar.SATURDAY);
c.getTime(); // => Date of this coming Saturday.
Calendar currDate = Calendar.getInstance();;
currDate.add(Calendar.DAY_OF_YEAR, (Calendar.SATURDAY - currDate.get(Calendar.DAY_OF_WEEK) ));
System.out.println("weekend date is in the " + curreDate.get(Calendar.DAY_OF_MONTH));
Joda Time
new DateTime().withDayOfWeek(DateTimeConstants.SATURDAY)
Prueba esto. Dará los días de inicio y fin de semana.
Calendar cal = Calendar.getInstance();
cal.set(Calendar.MONTH, cal.MONTH);
cal.set(Calendar.WEEK_OF_MONTH, cal.WEEK_OF_MONTH);
int weekStart = cal.getFirstDayOfWeek();
cal.set(Calendar.DAY_OF_WEEK,weekStart);
Date WeekStartDate=cal.getTime();
cal.set(Calendar.DAY_OF_WEEK,weekStart+7);
Date WeekEndDate=cal.getTime(
tl; dr
LocalDate.now( ZoneId.of( "Pacific/Auckland" ) ) // Today, in specific time zone.
.with( TemporalAdjusters.nextOrSame( DayOfWeek.SATURDAY ) ) // Next Saturday, or today if already Saturday.
.plusDays( 1 ) // Sunday
java.time
El enfoque moderno usa las clases java.time que suplantan las problemáticas clases de Date
y Calendar
mal diseñadas.
Fecha actual
La clase LocalDate
representa un valor de solo fecha sin hora del día y sin zona horaria.
Un huso horario es crucial para determinar una fecha. Para cualquier momento dado, la fecha varía alrededor del mundo por zona. Por ejemplo, unos minutos después de la medianoche en París, Francia es un nuevo día cuando todavía está "ayer" en Montreal Québec .
Especifique un nombre de zona horaria adecuada en el formato continent/region
, como America/Montreal
, Africa/Casablanca
o Pacific/Auckland
. Nunca utilice la abreviatura de 3-4 letras, como EST
o IST
ya que no son zonas horarias verdaderas, no están estandarizadas y ni siquiera son únicas (!).
ZoneId z = ZoneId.of( "America/Montreal" );
LocalDate today = LocalDate.now( z );
Pasando al próximo fin de semana
Puede ajustar de una fecha a otra usando una implementación de la interfaz TemporalAdjuster
. Algunas implementaciones útiles se proporcionan en la clase TemporalAdjusters
, como nextOrSame
. Especifique un día de la semana usando un objeto enum DayOfWeek
. Tenga en cuenta que DayOfWeek
es un objeto real en lugar de un mero número o cadena, que proporciona seguridad de tipo y garantiza valores válidos.
LocalDate saturday = today.with( TemporalAdjusters.nextOrSame( DayOfWeek.SATURDAY ) ) ;
LocalDate sunday = saturday.plusDays( 1 ) ;
Si desea el mismo fin de semana o el anterior , llame al ajustador previousOrSame
Orsame.