Skip to content

Instantly share code, notes, and snippets.

@alvareztech
Created June 13, 2017 20:30
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save alvareztech/4362417bb7f61a0a81247b317ea3228d to your computer and use it in GitHub Desktop.
Save alvareztech/4362417bb7f61a0a81247b317ea3228d to your computer and use it in GitHub Desktop.
Java: Calendar, Date, Difference
import javafx.application.Application;
import javafx.event.ActionEvent;
import javafx.event.EventHandler;
import javafx.geometry.Insets;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.control.Label;
import javafx.scene.layout.VBox;
import javafx.stage.Stage;
import java.util.Calendar;
import java.util.Date;
import java.util.concurrent.TimeUnit;
public class Main extends Application {
public static void main(String[] args) {
launch(args);
}
@Override
public void start(Stage primaryStage) throws Exception {
Button calcularButton = new Button("Calcular");
Label mensajeLabel = new Label();
mensajeLabel.maxWidth(100);
calcularButton.setOnAction(new EventHandler<ActionEvent>() {
@Override
public void handle(ActionEvent event) {
Calendar fechaAnterior = Calendar.getInstance();
fechaAnterior.set(2017, Calendar.JUNE, 13, 16, 10);
Calendar fechaActual = Calendar.getInstance();
mensajeLabel.setText("Tiempo pasado desde Junio 13 a las 16:10 hasta ahora: \n\n" + calcularDiferencia(fechaAnterior, fechaActual));
}
});
VBox vBox = new VBox();
vBox.getChildren().addAll(calcularButton, mensajeLabel);
vBox.setPadding(new Insets(20));
vBox.setSpacing(20);
Scene scene = new Scene(vBox, 400, 200);
primaryStage.setScene(scene);
primaryStage.show();
}
public static String calcularDiferencia(Calendar fechaInicio, Calendar fechaFin) {
long inicio = fechaInicio.getTimeInMillis();
long fin = fechaFin.getTimeInMillis();
long minutos = TimeUnit.MILLISECONDS.toMinutes(Math.abs(fin - inicio));
int h = (int) (minutos / 60);
int min = (int) (minutos - h * 60);
return h + ":" + min;
}
// Para convertir Date a Calendar
public static Calendar convertir(Date fecha) {
Calendar calendar = Calendar.getInstance();
calendar.setTime(fecha);
return calendar;
}
// Para convertir Calendar a Date
public static Date convertir(Calendar calendar) {
return calendar.getTime();
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment