Cambiar hora del computador con aplicación Java

mbcapi

Lanero Regular
13 Oct 2006
7
sep.gif
#14
hola a todos.

Me gustaría saber si es posible cambiar la hora y fecha del computador con una aplicación java, y que métodos utilizar.
 
Le toca ejecutar un comando que dependerá de su S.O., además, en Linux le tocaría ejecutar la aplicación como Super Usuario (Que es lo correcto).

El código sería algo así:

String comando = ""; // Cadena con la instrucción de cambio de fecha/hora
Runtime.getRuntime.exec(comando);

Suerte .
 
Gracias analizar Runtime.getRuntime() me ha dado ideas, ...

Pero al final no he conseguido hacerlo porque la aplicación es para windows XP, y al introducirle los comandos en este caso:

Runtime.getRuntime().exec("time 14:50"); //para la hora
Runtime.getRuntime().exec("date 8-2-2006"); //para la fecha

por ejemplo, no cambia nada en el sistema.
 
mbcapi dijo:
Gracias analizar Runtime.getRuntime() me ha dado ideas, ...

Pero al final no he conseguido hacerlo porque la aplicación es para windows XP, y al introducirle los comandos en este caso:

Runtime.getRuntime().exec("time 14:50"); //para la hora
Runtime.getRuntime().exec("date 8-2-2006"); //para la fecha

por ejemplo, no cambia nada en el sistema.

Pruebe el sig. codigo, le funcionará funcionar perfectamente.

PHP:
String comando = "cmd";
String hora = "15:53:00";
String entrada = "time" + " " + hora;

try {
    Process proceso = Runtime.getRuntime().exec(comando);
    BufferedOutputStream out = new BufferedOutputStream(proceso.getOutputStream());
    out.write(entrada.getBytes());
    out.write("\r\n".getBytes());
    out.flush();
    out.close();
    proceso.waitFor();
} catch (IOException ex) {
    System.out.println("Error de I/O"+ex);
} catch (InterruptedException ex) {
    ex.printStackTrace();
}
 
Pruebe el sig. codigo, le funcionará funcionar perfectamente.

PHP:
String comando = "cmd";
String hora = "15:53:00";
String entrada = "time" + " " + hora;
 
try {
    Process proceso = Runtime.getRuntime().exec(comando);
    BufferedOutputStream out = new BufferedOutputStream(proceso.getOutputStream());
    out.write(entrada.getBytes());
    out.write("\r\n".getBytes());
    out.flush();
    out.close();
    proceso.waitFor();
} catch (IOException ex) {
    System.out.println("Error de I/O"+ex);
} catch (InterruptedException ex) {
    ex.printStackTrace();
}

Hola muy buenas, estoy empezando en esto del Java y necesitaría que me respondieras si eres tan amable a unas preguntas:
1- Cuando pongo tu codigo en un fichero txt normal dentro de Java\sdk\bin y compilo y ejecuto este programa directamente a pelo con el javac y java (respectivamente me va perfectamente y cuando pongo:
import java.lang.Runtime;
import java.io.*;
import java.lang.Process;
import java.lang.InterruptedException;

me va sin problemas, compila y se ejecuta bien.
Sin embargo cuando lo edito con el eclipse y le meto las librerias (las mismas del sdk que usé antes) no me detecta ni la clase Process ni la funcion exec, la verdad es que esto me parece muy extraño...¿como puede ser esto? ....si se supone que estoy usando las mismas librerias que usé con el editor a pelo.
De todos modos cuando veo en el eclipse las librerias que hay en mi proyecto, es cierto que no me aparecen, si tuviera que incluirlas porque no están ¿de donde podria obtenerlas, yo trabajo con las sdk 1.4.2?

gracias
 

Los últimos temas