Buscar
Social
Ofertas laborales ES

Foro sobre Java SE > obtener dias habiles del mes en netbeans

buenas! estoy trabajando con netbeans y ireport, realice un reporte de cobro el cual debe ser enviado por correo los lunes (el reporte de la semana anterior), todos los dias el reporte del dia anterior y EL PRIMER DIA HÁBIL DEL MES (el reporte del mes anterior)

ya logre que me envie los lunes y todos los dias, pero para enviar el reporte del mes no se como verificar que es el primer dia habil del mes, por ejemplo el 01/06/2014 seria domingo por lo tanto el reporte se deberia enviar el 02/06/2014 con los datos del 01/05/2014 hasta el 31/05/2014, como podria hacer esto? por favor si me podrian ayudar!!

por ejemplo hice algo asi pero no funcionaria si no es un dia habil:
Calendar prueba = Calendar.getInstance();
if (prueba.getTime().getDate()==1){//primero del mes
Mail.send(ConfigXMLReader.getConfig().getReport(), reportmensual,
"-" + sdf.format(Calendar.getInstance().
getTime()));//envia el reporte del mes
}

mayo 21, 2014 | Registered Commenteralezcano

http://stackoverflow.com/questions/8997228/how-to-get-the-first-day-of-a-month

mayo 22, 2014 | Registered Commenterchoces

yo necesito el primer dia HABIL del mes

mayo 22, 2014 | Registered Commenteralezcano

?? Del mismo modo que compruebas el dia del mes, puedes comprobar que no es sabado ni domingo, no? No veo el problema.

Un saludo

mayo 22, 2014 | Unregistered CommenterUnoPorAhi

Ya entendí lo de HÁBIL.
En esa discusión se muestran diversos métodos para obtener el PRIMER DÍA del MES.
Supongo que, como dice UNoPorAhi, sabiendo qué día de la semana es ese primer día, es muy fácil comprobar si es sábado o domingo, y SUMAR lo necesario para obtener el primer día HÁBIL.

mayo 22, 2014 | Registered Commenterchoces

bueno, ya sabia como preguntar si es sabado o domingo y todo lo demas, lo que yo queria era ver si habia un modo de saber directamente si es el primer dia habil del mes, voy a tratar de explicarlo mejor, si hago como hice pregunto si es el 1 dia del mes, luego pregunto si no es sabado y domingo, ahora bien en caso que sea sabado 1 entonces no se deberia enviar el reporte, entonces como yo hago para que envie dos dias despues, es decir el lunes, porque sumandole dias a la fecha lo que logro es que envie ese dia, no se si me explico bien, pero por el momento se envia el 1 sin importar que sea sabado o domingo, pero tengo que mejorar eso, gracias por su interes!

mayo 30, 2014 | Registered Commenteralezcano

en sintesis, lo que no logro es hacer que si cae sabado o domingo el 1 que recien el reporte se envie el siguiente lunes, puede que yo nomas no vea la respuesta por mas obvia que pueda ser pero no tengo mucha experiencia y probando y probando me estan saliendo las cosas, pero quiero pulir mi trabajo :)

mayo 30, 2014 | Registered Commenteralezcano

Puesto que el primer día del mes siempre es el 1, y suponiendo que el mes es el 04 de 2014, en pseudo código:

if sabado then habil= 2014-04-03
else if domingo then habil= 2014-04-02
else habil= 2014-04-01

mayo 31, 2014 | Registered Commenterchoces

Un pseudocódigo desde otro punto de vista, que creo que es el que buscas:

if ( (dia 1 && !sabado && !domingo) || ((dia 2 || dia 3) && lunes) then
genera reporting


Un saludo

mayo 31, 2014 | Unregistered CommenterUnoPorAhi

gracias!!!!!

junio 3, 2014 | Registered Commenteralezcano