Aún no tienes acceso a esta clase

Crea una cuenta y continúa viendo este curso

Curso de Java SE Orientado a Objetos

Curso de Java SE Orientado a Objetos

Anahí Salgado Díaz de la Vega

Anahí Salgado Díaz de la Vega

Definiendo las citas disponibles

34/38
Recursos

Algunas veces necesitamos trabajar las fechas como tipo de dato Date y otras veces como String. Para resolver esto podemos usar SimpleDateFormat.

SimpleDateFormat format = new SimpleDateFormat(pattern: "dd/MM/yyyy");

// Transformar fechas de formato String a Date:
this.date = format.parse(dateAsString);

// Transformar fechas de formato Date a String:
this.date = format.format(dateAsDate);

Aportes 60

Preguntas 7

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad? Crea una cuenta o inicia sesión.

Creo que este video se pudo haber hecho de una manera mas ordenada y mejor explicada, demasiado contenido y tratado a la carrera.

en esta linea va a haber un problema

System.out.println(monthSelected + " . " + UIMenu.MONTHS[monthSelected]);

ya que va a mostrar un mes adelante del que se seleccionó lo correcto sería

System.out.println(monthSelected + " . " + UIMenu.MONTHS[monthSelected - 1]);

Concuerdo con los compañeros, hay demasiado contenido y de manera muy rápida, no ayuda en mucho, tuve que investigar más por mi cuenta porque me trabe en varias partes.

Si ya tienes conocimientos básicos pero sólidos de POO, puedes llegar entender el curso de una forma más fácil, claro está hay cosas que normalmente no se conocen y deberían ser explicadas en el curso para abarcar a la mayor cantidad de gente que no tiene el conocimiento y lo puedan aprender.

además aquí puede estar sucediendo la maldición del conocimiento, porque no recuerdan como eran antes de aprender lo que explican, por eso pasan por alto algunos conceptos, esto si lo deben de analizar en Platzi con cuidado, El porque de las cosas

En mi opinión, con respecto a las quejas de los estudiantes, pienso que el material brindando está muy bien en cuanto a POO , algunas cosas que utiliza para lograr la GUI son cosas que utiliza para la lógica de programación y cualquier cosa que agrega ello lo explica. Tampoco pensar que con ver el video una vez se va retener todo, tienen que darse su tiempo de estudiar y buscar más información si es necesario.

NO TE PREDISPONGAS

Hola Gente,normalmente tengo la costumbre de leer los aportes antes de empezar con las clase y en este video note muchos comentarios donde decian que la clase fue muy rapida, que Anahi se perdia mientras explicaba y que no explicaba bien, honestamente esperaba una clase muy mala y estaba listo para tirar un poco de hate junto con mis compañeros, sin embargo segui algunas criticas constructivas que encontre en los comentarios, como poner el video en velocidad 0.85 y asi comence a ver el video, a decir verdad entendi lo que se queria explicar el video, realice las pausas en donde me costaba procesar lo que decia Anahi, analice el codigo y en general fue una buena clase, como bien mensionan algunos compañeros hay errorers de logica en el codigo nada que no se pueda resolver analizando la sintaxis del codigo y apoyandonos en el codigo que podemos descargar.

conclusion no se predispongan y utilicen las formas de aprendizaje que mas les funcionen a ustedes.

Siento que no estoy aprendiendo mucho en las ultimas clases porque basicamente estoy copiendo el codigo que hace ella sin entender lo que estoy haciendo y me frustra :´(

Esta bueno el curso, pero coincido con jose1470bry, estaria bueno que se incluyan ejercicios mas chicos para ir practicando lo aprendido. En mi caso estoy recien empezando a manejar Clases. Pero si esta muy bien armado el ejemplo integrando todo en un programa.
Una idea que quizas sirva es hacer un curso aparte sobre estos temas pero solo centrado en la practica con ejercicios

Lo que se hace en la clase y considero importante es:

  • Continuar el desarrollo del menú para añadir citas, tomando datos del usuario.
  • Escanear tanto lineas convertidas a un valor Integer, fecha y horario en String para guardarlas en variable.
  • Modificar la clase AvailableAppointment para que tome el input String del usuario y posteriormente convertirlo a Date con SimpleDateFormat.parse
  • Usar la sentencia continue para volver al inicio del bloque de código y corregir la fecha en caso de incorrecta.
  • Añadir la cita en el objeto doctor logueado y posteriormente chequear y añadir a un nuevo Array que contiene las citas del doctor en específico.

Cada cosa que hace la profesora la explica, el video esta muy bien

Si se baja la velocidad 0.85x al curso se puede seguir.






Estoy viendo este vídeo por segunda vez, ya con el código digitado, ahora busco comprender cómo construyó cada parte. 🤓👍

Hya clases que van como muy de afán, deben considerar dar ejemplos mas precisos para el concepto que se debe enseñar y no aplicar los temas a un mismo ejemplo en todo el curso. Esta mala practica le he visto en varios cursos de platzi y en youtube. Este mismo curso y con la misma profesora esta muy bien diseñado en coursera donde si se explica cada concepto en un ejemplo conciso

También se podría haber creado un nuevo método con distinta firma, que reciba un string en lugar de date y poder utilizarlo de ambas formas. Esto permite que no debamos cambiar la firma del método ya existente y por lo tanto, no cambiar todas los usos de ese método en nuestro código.

    ArrayList<AvailableAppointment> availableAppointments = new ArrayList<>();
  
    public void addAvailableAppointment(String date, String time) throws ParseException {
        SimpleDateFormat format = new SimpleDateFormat("dd/MM/yyyy");
        Date formatDate = format.parse(date);
        addAvailableAppointment(formatDate, time);
    }

    public void addAvailableAppointment(Date date, String time){
        availableAppointments.add(new Doctor.AvailableAppointment(date,time));
    }

Considero que es importante recapitular, e ir llevando conclusiones así como las entradas y salidas de los módulos o métodos para no perder de vista el objetivo de los mismos; esta seria nuestra labor como estudiantes.

La verdad es que ya no es la primera vez que me encuentro un curso asi. 0 didactico. hay que ir a fuentes externas (que lo entiendo). No pago solo por una seleccion de contenidos, me gustaria que fuesen de calidad

Veo muchas personas quejándose, y no me parece justo. Anahí es la mejor maestra que he visto.
Lo que les recomiendo es tomar apuntes y no pasar de una clase a otra sin antes estudiar lo aprendido. También pueden tomar nota dejando comentarios en el código. Luego que entienden todo intenten practicando el mismo ejercicio desde cero

☕ SimpleDateFormat nos permite convertir un tipo de dato Date a String ó String a Date, esto nos facilita el trabajo con fechas.

No seria mejor manejar una clase de utilidades con métodos para realizar tareas como por ejemplo el parseo de fechas?

Creo que esta ultima parte del curso pudo haber sido menos pesada si se hubieran hecho ejercicios un poco mas ordenados y cortos, esto con al finalidad de probar el codigo en cada video.

Ahora bien, si se iba a llevar un proyecto algo largo, tambien podria haber ayudado que el mismo estuviera en un repositorio de git con varias ramas, una por cada fase del proyecto para quienes quieran probar el codigo por su cuenta pudiesen tenerlo disponible ya que veo que muchos tuvieron problemas con eso.

De manera personal estoy tomando este curso como repaso, las primeras clases todo bien, pero del video 27 ( aprox) en adelante el curso se hace pesado.

Nos conocía esa manera de darle formato a los datos de tipo Date, le sacare provecho la próxima vez que cree estos tipos de variables.

Si SimpleDateFormat fuera una clase estática podríamos ahorrar memoria a la ahora de parsear la String puesto que no tendríamos que instanciar la clase para usar sus metodos?

Siento que hay cosas que no habíamos visto y las dice sin más.

Pero que no en java 8 se maneja diferente las fechas?

Mi reacción a este video fue khè, creo que ya el curso terminó y no estan dando cosas del curso java SE avanzado.

Estuvo pesa-dita la clase, pero afortunadamente estoy entendiendo todo.

Soy el único que se marea con los métodos tan largos? es un poco molesto la vrdad.

El curso venia muy bien, pero al momento de crear el menú de usuario pienso que todo se fue al carajo. Hay muchas prácticas que no comparto: meter un do-while dentro de otro do-while, crear muchas variables de tipo int para guardar las respuestas de los usuarios, etc. Pienso que hubiera sido más productivo y nutritivo para la comunidad hacer el uso de la clase JOptionPane. Me da la impresión de que ya querían terminar el curso.

Excelente clase.

siento que vengo un poco tarde, pero veo los comentarios y creo que tienen totalmente la razon, yo estoy llevando este curso a la par con mis clases de POO en la uni y vaya que me decepciono que no se tocara el tema de las excepciones en java, siento que para ser catalogado como un curso basico, no cumple esa función

Mi aporte a al disgusto sera que no era necesario mostrar un tema tan complejo. Obviamente repitiendo los videos, uno termina de entender (y es algo que recomiendo), pero estoy de acuerdo con los compañeros que iba a las chapas.
A los compañeros les recomiendo los cursos y lecturas recomendadas que se insertan abajo de todo (fundamentos de arquitectura de software)

La clase me parece que estuvo bien, no entiendo los comentarios de disgusto, para hacer el curso de POO basicamente TIENES que saber programar, es mas, creo que la clase esta explicando cosas que tienen que ver mas con logica de programacion es como un bonus…

Que falta de metodología. Hace falta contextualizar mucho mejor y tener representaciones gráficas que indiquen los procesos que se están realizando.

Creo que esta clase debería explicarse de una mejor manera, debido a que aunque se este trabajando con clases ya creadas anteriormente, es un poco confuso a que pertenece cada clase y método.

(Una buena practica es ver la clase con menos velocidad de la normal)

Se esta patinando mucho con el código, realmente se esta perdiendo la “modularidad al hacerlo así”. salu2

Entendí el 10% del video.

Siento que pegaron un salto muy grande en enseñar, todo venia muy bien al principio, pero los uúltimos videos siento que fueron demasiado rapidos… entiendo que quizas esta altura muchas de las cosas tendriamos que saberlas, pero creo que siempre un profesor/a tiene que tomarse su tiempo para repetir y respasar los contenidos que estan dando, asi queda grabado en los y las alumnas, lastima que sean los ultimos videos.

Consulta:
cuando esta sobrecargando los métodos:

    public Date getDate() {
        return date;
    }

    public String getDate(String DATE){
        return format.format(date);
    }

Pero no se supone que la firma es diferente al cambiar el tipo de dato que devuelve, porque se le tiene que poner un parametro que NO se usara, para diferenciarlo ?

Clase para formatear de un String a un Date.

pfffff, demasiado rápido y muchos temas!

14.30 minutos duro este video, parecia que no tenia final. Pudo quedar mejor.

¿A que horas apareció esa exepción?

Senti que la clase fue algo rapida, es decir muchos temas en un solo momento. Y pues en mi caso entendi un 90% de lo que se realizo, no estuve de acuerdo en algunas formas en que se realiza el codigo porque lo hace parecer mas complejo.

Sin embargo va en gustos de desarrollo, el como se estructura. Entendí porque devolví varias veces el video jejeje.

programando con Anahi 😃 ❤️ gracias a ver que tal quedo

Aquí también hace uso del formateo de fechas con SimpleDateFormat.

El try/catch solo se pone al parsear de String a Date, porque si al crear un objeto Date le pasas un parámetro incorrecto el programa explotaría.

Esta algo pesada la clase mucho contenido y poco explicacion pero si la vez con calma resolviendo las dudas al momento que surjan, es llevadera.

Pienso que tienen razón respecto a que hay temas que están sin contar,por ejemplo yo estoy rayado con el tema de arraylist , pero respecto a que va muy rápido y que se mueve mucho…comentarles que si practican ese problema se va , ya que es el ritmo normal de trabajo, y los ejercicios no necesariamente tiene que ponerlo platzi , recordar que ellos dan teoría(y es lo que reclamo respecto a los arraylist y tal vez el tema excepciones, pero este ultimo dijo que se ve en otro curso posterior) pero la parte practica deberíamos buscarla el estudiante.

Una mala clase a mi parecer, como algunas otras del curso

Hay partes en que Anahí es excelente explicando pero otras en las que se mete de lleno en el código, y uno termina por perdese un poco.

Pffff demasiado rapido!

Creo que en el minuto 6 se perdió la oportunidad del uso de la sobrecarga de métodos, así:

public void addAvailableAppointment(Date date, String time) {
	availableAppointment.add(new AvailableAppointment(date, time));
}
	
public void addAvailableAppointment(String date, String time) {
	availableAppointment.add(new AvailableAppointment(date, time));
}

Pudiendo tener incluso dos constructores con diferentes parámetros. Bueno, al menos así lo vi, desconozco si es mejor o peor aplicar la sobrecarga aquí, pero me resultó útil para no olvidar el concepto.

public AvailableAppointment(Date date, String time) {
	this.date = date;
	this.time = time;
}
		
public AvailableAppointment(String date, String time) {
	try {
		this.date = format.parse(date);
	} catch (ParseException e) {
		e.printStackTrace();
	}
	this.time = time;
} 

wow

Es un poco extraño estar siguiendo código de esta forma porque se siente como si estuviésemos transcribiendo código, quizás dejar parte de ese código como reto. Ya que el curso es acerca de orientación a objetos, quizás no importa tanto la lógica de programación que el profesor aplica.

¿La complejidad de esta clase es deliberada? ¿Se plantea este módulo a modo de reto?
El profesor decide hasta que punto y según el grado de dificultad, los alumnos serán capaces de comprender el tema de estudio.

Me tomaré este módulo como una lección de investigar a fondo y con más atención la documentación de los temas.

Independientemente de eso, la clase es mejorable.

so so

me parece un poco enredado la explicación, además no vemos la corrida de lo que hace el código.

Excelente clase.
Me pareció interesante la aplicación de SimpleDateFormat. No obstante al declarar el método public String getDate, me parece que el valor de retorno no se asignó correctamente. A mi percepción debería de pasar el parámetro String DATE a la función format(). Algo así:

public String getDate(String DATE) {return format.format(DATE);}  

Por otra parte, no logré comprender muy bien la utilidad de validar si el size del arreglo de availableAppointments es mayor que 0, ya que eso quizás pueda obstaculizar agregar el primer appointment, al menos así lo pude comprender.
Saludos