Java, Hora, Fecha, Impresiones (Conteo)

alejo163

Lanero Reconocido
27 Jun 2005
1,999
Bueno, pues la creacion de este foro va especialmente enfocada a realizar una compilacion de codigos basicos en java, para ser mas claro, digamos que en un programa que estoy haciendo necesito que en un applet se vea la hora del equipo en el que estoy... o que necesito que el programa sea capaz de contabilizar no se el numero de impresiones ed x impresora... o que cuando evente un boton se abra determinado programa... no se cosas asi que la verdad se me hacen utiles, necesarias, y vacanas no?? les recomiento por favor,
creo que para tener la hora es getHours(); ... no?? la verdad no se si estoy hablando damier... pero creo que es asi......

no es por poner un parametro ni nada de eso... pero seria mejor aun si se entrega el programa de no se cinco lineas

import java.io.*;
class esto{
public static void main(String args[]){
System.out.print("no se, lo que sea");
}
}
ojala este foro progrese, mañana aportare, la verdad estoy sentado en un Pc que tiene una cantidad de restricciones y las busquedas no han sido muy eficientes.., bueno espero les haya gustado y porfavor, hagan TOOOOOOOOOOODOS los aportes que puedan, vemos!
 
bueno, he preparado un codiguillo que puede ser de utilidad.
Esta clase muestra la extracción de los datos de la fecha del sistema...

Código:
import java.util.*;


public class Test {

    public static void main(String[] args) {
        //Metodo que nos da la hora del sistema
        long time=System.currentTimeMillis();
        Date fecha=new Date(time);
        //Métodos "deprecated" para extraer los componentes de la fecha
        int dia=fecha.getDay();
        int mes=fecha.getMonth();
        int anho=fecha.getYear();
        int hora=fecha.getHours();
        int minutos=fecha.getMinutes();
        int segundos=fecha.getSeconds();
        
        //Impresión tipica en consola 
        System.out.println(fecha.toString());
        
        //Impresión de hora usando los deprecados (tiene problemas con la fecha, por eso no la muestro)
        System.out.println("La hora es: "+hora+":"+minutos+":"+segundos);
        
        //Obtención de los componentes de la fecha (sin usar metodos deprecated)
        //Ojo! la hora está en formato 24hrs
        // El mes está abreviado, y utiliza la convención inglesa de los meses abreviados:
        // Jan, Feb, Mar, Apr, May, Jun, Jul, Aug, Sep, Oct, Nov, Dec
        String s=fecha.toString();
        String[] fechaString=s.split(" ");
        String diaSemanaS=fechaString[0];
        String mesS=fechaString[1];
        String diaNumeroS=fechaString[2];
        String[] horaS=fechaString[3].split(":");
        String horasS=horaS[0];
        String minutosS=horaS[1];
        String segundosS=horaS[2];
        String zonaHorariaS=fechaString[4];
        String anhoS=fechaString[5];        
    
        //Impresion personalizada usando lo de arriba
        System.out.println("Fecha: "+diaNumeroS+"/"+mesS+"/"+anhoS+" Hora: "+horasS+":"+minutosS+":"+segundosS+" Zona Horaria: "+zonaHorariaS+" Dia de la semana(ingles): "+diaSemanaS);
                
    }

}
 
  • Me gusta
Reacciones: 2 personas
sunriken dijo:
bueno, he preparado un codiguillo que puede ser de utilidad.
Esta clase muestra la extracción de los datos de la fecha del sistema...

Código:
import java.util.*;
 
 
public class Test {
 
    public static void main(String[] args) {
        //Metodo que nos da la hora del sistema
        long time=System.currentTimeMillis();
        Date fecha=new Date(time);
        //Métodos "deprecated" para extraer los componentes de la fecha
        int dia=fecha.getDay();
        int mes=fecha.getMonth();
        int anho=fecha.getYear();
        int hora=fecha.getHours();
        int minutos=fecha.getMinutes();
        int segundos=fecha.getSeconds();
 
        //Impresión tipica en consola 
        System.out.println(fecha.toString());
 
        //Impresión de hora usando los deprecados (tiene problemas con la fecha, por eso no la muestro)
        System.out.println("La hora es: "+hora+":"+minutos+":"+segundos);
 
        //Obtención de los componentes de la fecha (sin usar metodos deprecated)
        //Ojo! la hora está en formato 24hrs
        // El mes está abreviado, y utiliza la convención inglesa de los meses abreviados:
        // Jan, Feb, Mar, Apr, May, Jun, Jul, Aug, Sep, Oct, Nov, Dec
        String s=fecha.toString();
        String[] fechaString=s.split(" ");
        String diaSemanaS=fechaString[0];
        String mesS=fechaString[1];
        String diaNumeroS=fechaString[2];
        String[] horaS=fechaString[3].split(":");
        String horasS=horaS[0];
        String minutosS=horaS[1];
        String segundosS=horaS[2];
        String zonaHorariaS=fechaString[4];
        String anhoS=fechaString[5];        
 
        //Impresion personalizada usando lo de arriba
        System.out.println("Fecha: "+diaNumeroS+"/"+mesS+"/"+anhoS+" Hora: "+horasS+":"+minutosS+":"+segundosS+" Zona Horaria: "+zonaHorariaS+" Dia de la semana(ingles): "+diaSemanaS);
 
    }
 
}
excelente! me gustaria que los aportes fueran asi... muy bueno tu aporte, no lo he probado pero haciendo una compilacion rapida mental, veo que ta good, por fa, sigamos asi, esto nos sirve para muchos!
 
sunriken dijo:
bueno, he preparado un codiguillo que puede ser de utilidad.
Esta clase muestra la extracción de los datos de la fecha del sistema...

Código:
import java.util.*;


public class Test {

    public static void main(String[] args) {
        //Metodo que nos da la hora del sistema
        long time=System.currentTimeMillis();
        Date fecha=new Date(time);
        //Métodos "deprecated" para extraer los componentes de la fecha
        int dia=fecha.getDay();
        int mes=fecha.getMonth();
        int anho=fecha.getYear();
        int hora=fecha.getHours();
        int minutos=fecha.getMinutes();
        int segundos=fecha.getSeconds();
        
        //Impresión tipica en consola 
        System.out.println(fecha.toString());
        
        //Impresión de hora usando los deprecados (tiene problemas con la fecha, por eso no la muestro)
        System.out.println("La hora es: "+hora+":"+minutos+":"+segundos);
        
        //Obtención de los componentes de la fecha (sin usar metodos deprecated)
        //Ojo! la hora está en formato 24hrs
        // El mes está abreviado, y utiliza la convención inglesa de los meses abreviados:
        // Jan, Feb, Mar, Apr, May, Jun, Jul, Aug, Sep, Oct, Nov, Dec
        String s=fecha.toString();
        String[] fechaString=s.split(" ");
        String diaSemanaS=fechaString[0];
        String mesS=fechaString[1];
        String diaNumeroS=fechaString[2];
        String[] horaS=fechaString[3].split(":");
        String horasS=horaS[0];
        String minutosS=horaS[1];
        String segundosS=horaS[2];
        String zonaHorariaS=fechaString[4];
        String anhoS=fechaString[5];        
    
        //Impresion personalizada usando lo de arriba
        System.out.println("Fecha: "+diaNumeroS+"/"+mesS+"/"+anhoS+" Hora: "+horasS+":"+minutosS+":"+segundosS+" Zona Horaria: "+zonaHorariaS+" Dia de la semana(ingles): "+diaSemanaS);
                
    }

}

que tal.
pilas que la clase Date esta siendo reemplazada por Calendar. segun entiendo es por que date tenia problemas de internacionalizacion, pero no tengo mas info al respecto. igual Calendar tambien tiene los mismo .getLoQueSea que tiene Date, asi que el impacto es minimo y puede hacer todo esto sin usar metodos depricated
 
Mejor asi:

PHP:
Calendar cal = new GregorianCalendar();
int year = cal.get(Calendar.YEAR);
int month = cal.get(Calendar.MONTH);
int day = cal.get(Calendar.DAY_OF_MONTH);
int dayOfWeek = cal.get(Calendar.DAY_OF_WEEK);
 
import java.util.Date;
class Fecha{
public static void main(String[] args ){
Date fecha = new Date();
System.out.println(fecha);
}
}
tambien sirve no?
 
Para mostrar fechas en el formato que uno quiera les sugiero SimpleDateFormat. Denle una leida al Javadoc de esa clase, es bastante util.
 
Si el SimpleDateFormat es bastante potente, aqui el Javadoc, a continuación un ejemplo:
Código:
import java.text.SimpleDateFormat;
import java.util.Date;
public class TestSDF {
    public static void main(String args[]) {
        SimpleDateFormat[] sdfs = {
                new SimpleDateFormat("dd-MM-yyyy h:mm a"),
                new SimpleDateFormat("dd/MMM/yy HH:mm:ss"),
                new SimpleDateFormat("EEEE dd 'de' MMMM 'de' yyyy h:mm:ss:SSS")
        };
        int numItera = 5;
        for (Date d = new Date();;d = new Date(d.getTime()+1468800000)) {//3600000
            for (SimpleDateFormat sdf : sdfs) {
                System.out.println(sdf.format(d));
            }
            if (--numItera==0) break;
        }
    }
}
Que produce como salida cosas como:
Código:
28-03-2006 12:13 AM
28/mar/06 00:13:01
martes 28 de marzo de 2006 12:13:01:511
Tener en cuenta que sale en español porque Java toma por defecto la configuracion del computador, si digamos se tratara de un Windows en ingles y uno quisiera especificarlo explicitamente tendria que poner un parametro adicional en el constructor que seria algo como
Código:
new Locale("es","CO")
para español, Colombia.
 
Buenas, primero que todo les comento que juanerasmoe tiene razón; mucho ojo con los métodos deprecated; usarlos causa problemas tanto a la hora de usarlos como mas adelante si se piensa empaquetar para usar en otros proyectos que probablemente usen otra version de Java. La vía correcta para usar fechas en Java es con Calendar así:
Calendar myCalendar = Calendar.getInstance();
Ademas se puede pasar por parámetro el Timezone para crear calendarios con corrimiento GMT.
Si quieren "Setear" el calendario se usa:
myCalendar.set(Calendar.YEAR,myYear);
myCalendar.set(Calendar.MONTH,myMonth);
myCalendar.set(Calendar.DAY_OF_MONTH,myDay);
myCalendar.set(Calendar.HOUR_OF_DAY,0);
myCalendar.set(Calendar.MINUTE,0);
myCalendar.set(Calendar.SECOND,0);
myCalendar.set(Calendar.MILLISECOND,0);

Con get para extraer los valores y con add para adicionar elementos a un valor; así:
myCal1.add(Calendar.MINUTE,myCal2.get(Calendar.MINUTE));//agrega los minutos de myCal2 a myCal1

Verificando en la clase Calendar encontrarán como constantes todos los elementos que pueden obtener ó setear.

Para usar el calendario como "Fuente" para otras clases como Timestamp (muy usado para bases de datos) ó Date se puede leer el valor en milisegundos, así:
Timestamp date = new Timestamp(myCalendar.getTimeInMillis());

En conclusion: siempre es mejor usar el Calendar cuando se necesitan operaciones con fechas. Luego de usarlo se puede exportar el valor en milisegundos para lo que se necesite.
 
listo, eso con lo que tiene que ver con la fecha... pero, otro "problema".... como hago para que un programa me reconozca por ejemplo el numero de impresiones que envie, o que me diga esas impresiones saleron de tal equipo....... ni idea.. por fa aporten
 
una pregunta mas "facil" (por decirlo de alguna manera) quiero saber como hago toooooodas las opciones que hacen los programas que controlan el tiempo las impresiones, y demas en los cafe internet... solo eso, quiero saber eso... quien me ayuda al capricho?
 
hola a todos, aprovechando que el tema va sobre la hora, fecha. Me gustaría saber si es posible cambiar la hora y fecha del computador con una aplicación java, y que métodos utilizar.
 

Los últimos temas