diff --git b/.idea/.gitignore a/.idea/.gitignore
new file mode 100644
index 0000000..13566b8
--- /dev/null
+++ a/.idea/.gitignore
@@ -0,0 +1,8 @@
+# Default ignored files
+/shelf/
+/workspace.xml
+# Editor-based HTTP Client requests
+/httpRequests/
+# Datasource local storage ignored files
+/dataSources/
+/dataSources.local.xml
diff --git b/.idea/misc.xml a/.idea/misc.xml
new file mode 100644
index 0000000..07115cd
--- /dev/null
+++ a/.idea/misc.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git b/.idea/modules.xml a/.idea/modules.xml
new file mode 100644
index 0000000..764b5b9
--- /dev/null
+++ a/.idea/modules.xml
@@ -0,0 +1,8 @@
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git b/dia3.iml a/dia3.iml
new file mode 100644
index 0000000..c90834f
--- /dev/null
+++ a/dia3.iml
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git b/out/production/dia3/Main.class a/out/production/dia3/Main.class
new file mode 100644
index 0000000..bc70d74
Binary files /dev/null and a/out/production/dia3/Main.class differ
diff --git b/out/production/dia3/clasesjava/Reloj.class a/out/production/dia3/clasesjava/Reloj.class
new file mode 100644
index 0000000..f5d9fcc
Binary files /dev/null and a/out/production/dia3/clasesjava/Reloj.class differ
diff --git b/out/production/dia3/clasesjava/RelojDemo.class a/out/production/dia3/clasesjava/RelojDemo.class
new file mode 100644
index 0000000..6f7f83a
Binary files /dev/null and a/out/production/dia3/clasesjava/RelojDemo.class differ
diff --git b/src/Main.java a/src/Main.java
new file mode 100644
index 0000000..7046417
--- /dev/null
+++ a/src/Main.java
@@ -0,0 +1,2 @@
+public class Main {
+}
diff --git b/src/clasesjava/Reloj.java a/src/clasesjava/Reloj.java
new file mode 100644
index 0000000..f05bcc9
--- /dev/null
+++ a/src/clasesjava/Reloj.java
@@ -0,0 +1,104 @@
+package clasesjava;
+
+import java.time.Duration;
+import java.time.LocalTime;
+
+public class Reloj {
+ private int horas;
+ private int minutos;
+ private int segundos;
+ private LocalTime actual = null;
+
+ public Reloj() {
+ this.horas = 12;
+ this.minutos = 0;
+ this.segundos = 0;
+ }
+
+ public Reloj(int horas, int minutos, int segundos) {
+ this.horas = horas;
+ this.minutos = minutos;
+ this.segundos = segundos;
+ }
+
+ public Reloj(int segundos) {
+ setReloj(segundos);
+ }
+
+ public int getHoras() {
+ return horas;
+ }
+
+ public void setHoras(int horas) {
+ this.horas = horas;
+ }
+
+ public int getMinutos() {
+ return minutos;
+ }
+
+ public void setMinutos(int minutos) {
+ this.minutos = minutos;
+ }
+
+ public int getSegundos() {
+ return segundos;
+ }
+
+ public void setSegundos(int segundos) {
+ this.segundos = segundos;
+ }
+
+ public void setReloj(int segundos) {
+ LocalTime localTime = LocalTime.of(0, 0, 0);
+ this.actual=localTime.plusSeconds(segundos);
+ actualizarHora(this.actual);
+ }
+
+ public void tick() {
+ LocalTime localTime = LocalTime.of(this.horas, this.minutos, this.segundos);
+ this.actual=localTime.plusSeconds(1L);
+ actualizarHora(this.actual);
+ }
+ public Reloj addReloj(Reloj reloj) {
+ Reloj r= reloj;
+ return r;
+ }
+
+ public void tickDecrement() {
+ LocalTime actual=null;
+ LocalTime localTime = LocalTime.of(this.horas, this.minutos, this.segundos);
+ this.actual=localTime.minusSeconds(1L);
+ actualizarHora(this.actual);
+ }
+
+ public Reloj restaReloj(Reloj reloj) {
+ LocalTime local = LocalTime.of(reloj.horas, reloj.minutos, reloj.segundos);
+ LocalTime actual=LocalTime.of(this.horas, this.minutos, this.segundos);
+
+ int value = local.compareTo(actual);
+ if(value > 0){
+ int diferencia= (int) Duration.between(actual, local).getSeconds();
+ return new Reloj(diferencia);
+ }else {
+ int diferencia= (int) Duration.between(local, actual).getSeconds();
+ return new Reloj(diferencia);
+ }
+
+ }
+
+ public void actualizarHora(LocalTime actual) {
+ this.horas= actual.getHour();
+ this.minutos= actual.getMinute();
+ this.segundos= actual.getSecond();
+ }
+
+ @Override
+ public String toString() {
+ return "[" +
+ + horas +
+ ":" + minutos +
+ ":" + segundos +
+ ']';
+ }
+}
diff --git b/src/clasesjava/RelojDemo.java a/src/clasesjava/RelojDemo.java
new file mode 100644
index 0000000..1cc6f1f
--- /dev/null
+++ a/src/clasesjava/RelojDemo.java
@@ -0,0 +1,41 @@
+package clasesjava;
+
+import java.util.Scanner;
+
+public class RelojDemo {
+ public static void main(String[] args) {
+ Scanner sc = new Scanner(System.in);
+ boolean bandera=true;
+ int segundos = -1;
+
+ do {
+ System.out.println("Ingrese los segundos, de 0 a 86400");
+ try {
+ segundos = sc.nextInt();
+ if(segundos < 0 || segundos > 86400){
+ segundos=10/0;
+ }
+ bandera=false;
+ }catch (Exception e){
+ System.out.println("Ingrese un dato valido!");
+ sc.nextLine();
+ }
+ }while (bandera==true);
+
+ Reloj reloj = new Reloj(segundos);
+
+ for(int i=0; i<10; i++){
+ reloj.tick();
+ System.out.println(reloj);
+ }
+
+ Reloj reloj2 = new Reloj();
+
+ Reloj restaHora;
+
+ restaHora = reloj.restaReloj(reloj2);
+ System.out.println(reloj + "-" + reloj2 + "=" + restaHora);
+
+
+ }
+}