Java obtiene el número de medio mes

Asumiendo Medio mes como se define aquí: http://en.wikipedia.org/wiki/Half-month

  Calendar cal = (GregorianCalendar) Calendar.getInstance();
  cal.set(Calendar.DAY_OF_MONTH, 13);
  cal.set(Calendar.MONTH, 2);
  cal.set(Calendar.YEAR, 2012);
  // remember, we have a zero based month
  int halfMonth = cal.get( Calendar.MONTH ) * 2 + 1;
  // 1-15 is first half-month 16-end of month is second
  int remainder = cal.get( Calendar.DAY_OF_MONTH ) / 16; 
  halfMonth += remainder;

  System.out.println( halfMonth );
Respuesta 1
Calendar cal = (GregorianCalendar) Calendar.getInstance();
cal.set(Calendar.DAY_OF_MONTH,13);
cal.set(Calendar.MONTH, 2);
cal.set(Calendar.YEAR, 2012);
int hafMonthCount = cal.get(Calendar.DAY_OF_YEAR) / 14 ;
//here you must multiply by 2 :)
System.out.println("HalfMonthCount:" + hafMonthCount );

---actualizado

Como el concepto que usa no está implementado en Java (en francés tenemos este concepto de quizaína durante 14 días, pero en inglés no puedo decirlo), debe calcularlo usted mismo.

Respuesta: 2

Detalles para mostrar con ejemplos lo que sucede con su código. Supongamos que tenemos los siguientes cuatro valores diferentes de WEEK_OF_YEAR:

WEEK_OF_YEAR: 1
WEEK_OF_YEAR: 2
WEEK_OF_YEAR: 3
WEEK_OF_YEAR: 4

¿Qué sucederá si dividimos estos valores entre 2?

WEEK_OF_YEAR: 1          (weekNum/2) = 1/2 = 0 
WEEK_OF_YEAR: 2          (weekNum/2) = 2/2 = 1
WEEK_OF_YEAR: 3          (weekNum/2) = 3/2 = 1
WEEK_OF_YEAR: 4          (weekNum/2) = 4/2 = 2

Entonces, el problema con su código es que resultará en la primera semana del año dando como resultado un valor 0. Entonces, lo que querría estar haciendo en su código es reemplazar el (weekNum/2)con ((weekNum + 1)/2).

Respuesta: 3

Tengo muchos proyectos maven. Tengo dos configuraciones globales.xml diferentes para ellos que necesito fusionar. Ambos describen sus repositorios dentro de los perfiles. Fusioné los dos settings.xml por ...

Estoy tratando de construir mi primer widget de Android, es un ícono simple, en el que cuando hago clic en algo pasa, en "algo" estoy usando el servicio. Todo va bien, pero tengo un pequeño problema, que yo ...

Tengo el siguiente REGEX que estoy sirviendo a Java a través de un archivo xml. [a-zA-Z - \ (\) \ -] + Esta expresión regular se utiliza para validar el lado del servidor y el lado del cliente (a través de JavaScript) y funciona bastante bien en ...

Tengo una pregunta sobre JMS en Camel. Así que estoy usando JMS proporcionado por alguna empresa. Pero esta implementación de JMS no proporciona la Fábrica de conexiones agrupadas. Entonces, ¿camello se ha agrupado por defecto ...