/* 
* Copyright 2016 Agencia Estatal de Administración Tibutaria
*
* Licencia con arreglo a la EUPL, Versión 1.1 o –en cuanto
* sean aprobadas por la Comisión Europea– versiones
* posteriores de la EUPL (la «Licencia»);
* Solo podrá usarse esta obra si se respeta la Licencia.
* Puede obtenerse una copia de la Licencia en:
*  
* https://joinup.ec.europa.eu/software/page/eupl
*  
* Salvo cuando lo exija la legislación aplicable o se acuerde
* por escrito, el programa distribuido con arreglo a la
* Licencia se distribuye «TAL CUAL», SIN GARANTÍAS NI CONDICIONES
* DE NINGÚN TIPO, ni expresasni implícitas.
*
* Véase la Licencia en el idioma concreto que rige los permisos y 
* limitaciones que establece la Licencia.
*/ 

package gestor.utiles;

import java.util.*;
import java.util.Calendar;

public class Fecha {

   static final java.text.SimpleDateFormat timeFormatHM;
   static final java.text.SimpleDateFormat timeFormatHMS;
   public static final java.sql.Timestamp TimestampNulo;
   

   static {
      timeFormatHM = new java.text.SimpleDateFormat("HH:mm");
      timeFormatHMS = new java.text.SimpleDateFormat("HH:mm:ss");
      TimestampNulo = new java.sql.Timestamp(0);
   }

   public Fecha() {
   }


   public static java.util.Date parseFecha(String fechaTxt) {
     try {
         java.util.Date t = timeFormatHM.parse(fechaTxt);
         GregorianCalendar hoy = new GregorianCalendar();
         GregorianCalendar gc = new GregorianCalendar();
         gc.setTimeInMillis(t.getTime());
         gc.set(Calendar.YEAR, hoy.get(Calendar.YEAR));
         gc.set(Calendar.DAY_OF_YEAR, hoy.get(Calendar.DAY_OF_YEAR));
         t.setTime(gc.getTimeInMillis());
         return t;
     } catch(Exception exc) {
         return new java.util.Date(0);
     }
   }


   public static java.sql.Timestamp ahora() {
      return new java.sql.Timestamp(System.currentTimeMillis());
   }

   public static String formatoHoraHM(java.util.Date d) {
      long tt = d.getTime();
      if (tt < 1) {
         return "";
      }
      return timeFormatHM.format(d);
   }

   public static String formatoHoraHMS(java.util.Date d) {
      return timeFormatHMS.format(d);
   }

   public static java.sql.Timestamp horaNula() {
      return new java.sql.Timestamp(0);
   }
}
