Hice una página para saber cuándo acaba el gobierno de Duque 😃
https://edgosw105.github.io/CuentaRegresiva/
Aqui el repositorio: Github
Introducción al curso
¡Alto! Tenemos una nueva versión de este curso para ti
Bienvenidos al Curso de Fundamentos de JavaScript
Repositorio de este curso de fundamentos de JS
Primeros pasos en JavaScript
Variables
Variables: Strings
Variables: Números
Funciones
El alcance de las funciones
Objetos
Desestructurar objetos
Parámetros como referencia o como valor
Comparaciones en JavaScript
Estructuras de Control y Funciones
Condicionales
Funciones que retornan valores
Arrow functions
Estructuras repetitivas: for
Estructuras repetitivas: while
Estructuras repetitivas: do-while
Condicional múltiple: switch
Arrays
Introducción a arrays
Filtrar un array
Transformar un array
Reducir un array a un valor
Programación Orientada a Objetos en JavaScript
Cómo funcionan las clases en JavaScript
Modificando un prototipo
El contexto de las funciones: quién es this
La verdad oculta sobre las clases en JavaScript
Clases en JavaScript
Asincronismo
Funciones como parámetros
Cómo funciona el asincronismo en JavaScript
Cómo funciona el tiempo en JavaScript
¿Qué pasó con swapi.co?
Callbacks
Haciendo múltiples requests
Manejando el Orden y el Asincronismo en JavaScript
Manejo de errores con callbacks
Promesas
Promesas Encadenadas
Múltiples promesas en paralelo
Async-await: lo último en asincronismo
Juego de HTML
Comenzando el juego
Generando una secuencia de números
Iluminando la secuencia de colores
Obteniendo el input del usuario
Agregando la verificación del color elegido
Agregando los estados finales del juego
Conclusiones del curso
Complementos
Diferencias entre var, let y const
Memoización: ahorrando cómputo
¿Hace cuántos días naciste?
Funciones recursivas
Entiende los closures de JavaScript
Estructuras de datos inmutables
Cambiando de contexto al llamar a una función
¿Cuándo hace falta poner el punto y coma al final de la línea?
No tienes acceso a esta clase
¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera
Con variables de tipo Date, se pueden realizar operaciones de suma y resta similares a las que se realizan con números. El resultado que se obtiene está en milisegundos, por lo que luego hay que hacer algunas operaciones adicionales para llevarlos a días, meses o años según queramos. También aplica para Horas, Minutos, Segundos y Milisegundos.
Aportes 122
Preguntas 12
Hice una página para saber cuándo acaba el gobierno de Duque 😃
https://edgosw105.github.io/CuentaRegresiva/
Aqui el repositorio: Github
intente hacer mi código un poco más interactivo con el usuario 😃
<script>
var año = prompt('Que año naciste?')
var mes = prompt('que mes naciste?') - 1
var dia = prompt('que día naciste?')
let danny = {
nombre: 'Daniel',
apellido: 'Cabrera',
nacimiento: new Date(año, mes, dia)
}
const hoy = new Date()
function diasEntreFechas (fecha1, fecha2){
const unDia = 1000 * 60 * 60 * 24
const diferencia = Math.abs(fecha1 - fecha2)
return Math.floor(diferencia / unDia)
}
console.log((`hola! naciste hace: ${diasEntreFechas(hoy,danny.nacimiento)} días`))
var n = diasEntreFechas(hoy,danny.nacimiento) / 365
var numero = n.toFixed(2)
console.log(`que siendo un poco mas claros serian: ${numero} años :)`)
</script>```
Wow, se que no es un aporte importante, pero a la fecha del vídeo tenía casi la misma edad de Sacha, apenas 46 días de diferencia:
Hola, No sé si también les pasó, yo estoy en Linux y coloqué mi fecha de nacimiento:
const nacimiento = new Date(1999, 11, 16);
Y en Google Chrome me decía que era 16 de Diciembre, cuando nací un 16 de Noviembre. No sé realmente por qué pasa, pero leí que el creador de JS, Brendan Eich, usó java.util.Date de JDK 1.0 (por allá en 1995) y lo puso en JS. Esto hace que los meses en vez de ir del 1 al 12 vayan del 0 al 11. Sólo para mencionar como dato histórico. Todo esto es basado en el estándar de tiempo POSIX de C http://linux.die.net/man/3/localtime. O probablemente pasó porque como estoy en Linux, a lo mejor el Browser ingresó a mi S.O. y lo tomó de allí. Una cosa u otra, tengan precaución!
Las fechas en JavaScript son todo un tema… hay veces en el las que JavaScript te puede decir que el día de hoy es mañana, etc, eso pasa cuando no ponemos la zona horaria y demás.
Afortunadamente existen paquetes que nos facilitan mucho todo esto, una de ellas es moment.js, o también pueden ver la documentación completa con todas las funciones para fechas que tenemos disponibles:
https://developer.mozilla.org/es/docs/Web/JavaScript/Referencia/Objetos_globales/Date
codigo JS clase 42 -->Manejo de fechas preee
function diasEntreFechas(fecha1,fecha2){
const unDia = 1000*60*60*24
const diferencia = Math.abs(fecha1- fecha2)
return Math.floor(diferencia/unDia)
}
const hoy= new Date()
const nacimiento =new Date(1996,2,14)
Feliz Cumpleaños Sacha (un día antes) 😎.
Al declarar variables tipo fecha con new Date nos es posible realizar cálculos entre fechas.
Resumen de la clase:
Manejo de Fechas:
A las fechas podemos restarlas o sumarlas.
Math.abs() nos permite poner cualquier fecha en el primer orden de tal manera que el resultado siempre sea positivo o ‘absoluto’’.
La suma o resta nos da un número expresado en milisegundos.
function diasEntreFechas(fecha1, fecha2) {
const unDia = 1000 * 60 *60 * 24 //1000ms x 60sec x 60min x 24hs
const diferencia = Math.abs(fecha1 - fecha2)
return Math.floor(diferencia / unDia)
}
const hoy = new Date() // fecha actual por defecto
const nacimiento = new Date(1981, 08, 12) // el constructor de new Date() recibe año, mes (enero=00) y el día.
diasEntreFechas(hoy, nacimiento) // == 13638 si divido esta cantidad de días por 365 obtendré la edad en años.
Bune dia champion… dejo mi aporte, trabjando con .date()…
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Date Management</title>
<link rel="stylesheet" href="./css/style.css">
<link rel="preconnect" href="https://fonts.gstatic.com">
<link href="https://fonts.googleapis.com/css2?family=Poppins:wght@300&display=swap" rel="stylesheet">
<!-- <link href="https://cdn.jsdelivr.net/npm/[email protected]/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-+0n0xVW2eSR5OomGNYDnhzAbDsOXxcvSN1TPprVMTNDbiYZCxYbOOl7+AMvyTG2x" crossorigin="anonymous"> -->
</head>
<body>
<div class="container">
<!-- <img class="logo" src="/assets/chess-solid.svg" alt="chess"> -->
<h1>How many days were you born?</h1>
<form action="" id="box-container">
<div class="box-container">
<label>Name</label>
<input type="text" id="name" placeholder="Full Name" required>
<label>Year</label>
<input type="number" id="year" placeholder="1880" required>
<label>Month</label>
<input type="number" id="month" placeholder="0 1 2 3 4 5 6 7 8 9 10 11" required>
<label>Day</label>
<input type="number" id="day" placeholder="0 - 31" required>
<input class="submit" type="submit" id="calculate" value="Calculate" >
</div>
</form>
<p class="message" id="message"></p>
</div>
<footer>
<p>Copyright © 2021. <strong style="color:rgb(22, 23, 26)">Bruno Maldonado. </strong>All Rights Reserved.</p>
</footer>
<script>
let calculate = document.getElementById('calculate');
let message = document.getElementById('message');
// function daysBetweenDate(date1, date2) {
// const oneDay = 1000 * 60 * 60 * 24;
// const difference = Math.abs(date1 - date2); //abs significa numeros absolutos si es negativo te da positivo.
// return Math.floor(difference / oneDay);
// }
// const now = new Date();
// const birth = new Date(1994, 06, 30);
class UI {
resetForm(){
document.getElementById('box-container').reset();
}
}
function calculated(e) {
let day = document.getElementById('day').value;
let month = document.getElementById('month').value;
let year = document.getElementById('year').value;
let users = {
name: document.getElementById('name').value,
}
function daysBetweenDate(date1, date2) {
const oneDay = 1000 * 60 * 60 * 24;
const difference = Math.abs(date1 - date2); //abs significa numeros absolutos si es negativo te da positivo.
return Math.floor(difference / oneDay);
}
const now = new Date();
// const birth = new Date(1994, 06, 30);
const birth = new Date(year, month, day);
// console.log(`How are you champion! ${users.name}. Today is: ${now.toDateString()}`);
// console.log(`${users.name}. You were born: ${birth.toDateString()}`);
// console.log(`You have ${daysBetweenDate(now, birth)} days since you born `);
// console.log(`Now, you have ${(daysBetweenDate(now, birth)/365).toFixed(0)} years old`)
message.innerHTML =
`How are you champion! ${users.name}. Today is: ${now.toDateString()}. You were born long long time ago ${birth.toDateString()}, You have ${daysBetweenDate(now, birth)} days since you born... <br> Now, you have ${(daysBetweenDate(now, birth)/365).toFixed(0)} years old. `;
const ui = new UI();
ui.resetForm();
e.preventDefault();
}
//Event listeners
calculate.addEventListener('click', calculated)
</script>
</body>
</html>
… css
*{
box-sizing: border-box;
margin: 0;
padding: 0;
}
html, body{
background-image: url(../image/311.jpg);
background-repeat: no-repeat;
background-size: cover;
width: 100%;
font-size: 62.5%;
font-family: 'Poppins', sans-serif;
}
.logo{
height: 60px;
width: 60px;
padding: 1px;
background-color: rgba(0, 0, 0, 0.2);
background-color: rgba(255, 255, 255, 0.349);
}
.container{
display: flex;
align-items: center;
flex-direction: column;
padding: 5rem;
height: 100vh;
overflow-y: auto;
}
.container h1{
font-size: 2.4rem;
text-align: center;
margin: 13px 0px 10px 0px;
}
.container p{
font-size: 2.2rem;
text-align: justify;
}
.card{
border: 2px solid rgb(235, 230, 220);
border-radius: 5px;
background-color: rgba(0, 0, 0, 0.2);
background-color: rgba(255, 255, 255, 0.349);
padding: 2rem;
}
input[type="text"]{
border: 2px solid rgba(211, 210, 208, 0.5);
border-radius: 5px;
outline: none;
background-color: inherit;
color: rgb(14, 14, 14);
font-size: 1.7rem;
padding: 4px;
transition: 0.3s;
}
input[type="text"]:focus{
border-color: rgb(30, 45, 255);
box-shadow: 0 0 8px 0 rgb(30, 83, 255);
}
input[type="number"]{
border: 2px solid rgba(211, 210, 208, 0.5);
border-radius: 5px;
outline: none;
background-color: inherit;
color: rgb(14, 14, 14);
font-size: 1.7rem;
padding: 4px;
transition: 0.3s;
}
input[type="number"]:focus{
border-color: rgb(30, 45, 255);
box-shadow: 0 0 8px 0 rgb(30, 83, 255);
}
.inputWithIcon input[type="text"]{
padding-left: 10px;
}
.inputWithIcon{
position: relative;
}
.inputWithIcon i {
position: absolute;
right: 0;
top: 0px;
padding: 8px 8px ;
padding-right: 15px;
color: #aaa;
font-size: 1.7rem;
transition: 0,3;
}
.inputWithIcon input[type="text"]:focus{
color: dodgerblue;
}
label{
font-size: 1.7rem;
color: rgb(10, 10, 10);
font-weight: 600;
line-height: 3rem;
text-align: left;
}
.search{
font-size: 1.7rem;
padding: 4px;
transition: 0.3s;
border: 2px solid #aaa;
border-radius: 3px;
outline: none;
cursor: pointer;
color: dodgerblue;
}
#card-container{
font-size: 2rem;
color: rgb(5, 0, 0);
margin-top: 10px;
line-height:2rem;
max-height: auto;
}
.box-container{
display: flex;
flex-direction: column;
border: 2px solid rgba(235, 230, 220, 0.479);
border-radius: 10px;
padding: 15px;
background-color: rgba(0, 0, 0, 0.2);
background-color: rgba(255, 255, 255, 0.349);
}
.submit{
margin-top: 20px;
padding: 6px;
border-radius: 5px;
font-size: 1.7rem;
border: transparent;
cursor: pointer;
background-color: rgb(68, 165, 55);
color: #fff;
border: transparent;
outline: none;
}
.submit::after{
background-color: rgb(48, 102, 41);
color: rgba(255, 255, 255, 0.795);
}
.message{
margin-top: 8px;
padding: 5px;
max-width: 520px;
}
.container p{
font-size: 1.6rem;
color: rgb(255, 255, 255);
}
footer{
text-align: center;
padding: 10px;
font-size: 1.2rem;
font-weight: bold;
}
En esta clase aprendimos a manejar fechas, en este caso les comparto el código de la clase y también otra manera de obtener la fecha utilizando las funciones de date:
function diasEntreFechas(fecha1, fecha2) {
//Math.abs vuelve positivo el resultado
const unDia = 1000 * 60 * 60 * 24;
const diferencia = Math.abs(fecha1 - fecha2);
//Math.floor redondea hacia abajo
return Math.floor(diferencia / unDia);
}
const hoy = new Date();
//Para pasar parámetros de fecha, pasamos: año, mes (de 0 al 11)
//y por último día
const nacimiento = new Date(1988,2,11);
//Otra manera de sacar fechas
var date = new Date();
var dateNow = {
anio: date.getFullYear(),
//getMonth retorna el mes comenzando en 0 con Enero, por
//eso le puse +1, para que inicie como Enero = 1.
mes: date.getMonth() + 1,
dia: date.getDate()
};
console.log(`Hoy es: ${dateNow.dia}-${dateNow.mes}-${dateNow.anio}`);
¿Cómo será cuando lleve másd e un año ? jajajaja
El manejo de fechas es sin duda uno de los puntos más débiles de JS, por eso se usa la librería moment.js
Para probarlo rápidamente en la consola sería:
const unDia = 1000*60*60*24
Math.floor((new Date() - new Date(1994,1,23)) / unDia)
muy buena clase, me parece curioso que js arranque los meses desde “0”, mi mes es marzo y coloque 2 😃
intenté hacer mi programa para calcular la diferencia de días desde mi nacimiento hasta la fecha más dinámico tomando el dato de la fecha de nacimiento desde un objeto de la clase Persona y así poder calcular este dato automáticamente de un gran número de personas:
function Persona(nombre, apellido, fecha_nacimiento){
this.nombre=nombre
this.apellido=apellido
this.fecha_nacimiento=fecha_nacimiento
//...
var diego= new Persona('Diego', 'Lerma', new Date(1998,10,25))
}
el problema es que al tomar la variable de esta forma, el tipo de variable se vuelve ‘any’ y al hacer la resta, la diferencia resulta en NaN
¿Hay alguna forma en que pueda convertir un any a Date previo a hacer ese cálculo?
¿O estoy cometiendo errores de lógica al intentar hacer esto?
excelente aprendí hoy hasta que día nací, y cuanto días he vivido jeje
Comparto mi código
let carlos = {
nombre : 'Carlos',
apellido: 'Zabala',
edad: 21,
nacimiento: new Date(1997, 5, 11)
}
haceCuantoNaciste = ({nacimiento}) => {
let hoy = new Date()
let restaFecha = Math.abs(nacimiento - hoy)
let dias = 1000 * 60 * 60 * 24
restaFecha = Math.round(restaFecha / dias)
return console.log(`Han pasado ${restaFecha} dias desde tu nacimiento`)
}
haceCuantoNaciste(carlos)```
Una manera más simple y clara que la propuesta por sacha
const date = new Date()
const yourBirthday = new Date(1990, 0, 20)
function daysPassed(today, birthday) {
const days = (today - birthday) / 86400000
console.log(`${days.toFixed(0)} days have passed since your birth`)
}
daysPassed(date, yourBirthday) // 10696 days have passed since your birth
function dias_entre_fechas(fecha1, fecha2) {
const un_dia = 1000 * 60 * 60 * 24;
const diferencia = Math.abs(fecha1 - fecha2);
return Math.floor(diferencia / un_dia);
}
const hoy = new Date();
const nacimiento = new Date(1998, 06, 26);
dias_entre_fechas();
<code>
function daysBetweenDates(date1, date2) {
const oneDay = 1000 * 60 * 60 * 24
const diference = Math.abs(date1 - date2)
return Math.floor(diference / oneDay)
}
const today = new Date()
const dateOfBirth = new Date(1988, 2, 12)
Con variables de tipo Date, se pueden realizar operaciones de suma y resta similares a las que se realizan con números. El resultado que se obtiene está en milisegundos, por lo que luego hay que hacer algunas operaciones adicionales para llevarlos a días, meses o años según queramos. También aplica para Horas, Minutos, Segundos y Milisegundos.
Vaya, esta clase muy esencial para manejo de fechas en nuestros proyectos.
Que aporte tan bueno, esencial para todo proyecto!
Mi cumpleaños también es ese día!!
Tengo 9971 días de vida.
Estoy a punto de llegar a los 10.000
Para los que les quede la duda de cual es la resta, como a mi, estuve mirando e implicitamente Javascript de esa fecha le aplica el metodo getTime() el cual saca los milisegundos y luego los resta.
Es bueno manejar una nomenclatura para las funciones. En mi caso, yo uso fn
const fnDiasEntreFechas = (fecha1, fecha2) => {
const diaEnMilisegundos = 1000 * 60 * 60 * 24;
var diferencia = Math.abs(fecha1 - fecha2);
return Math.floor( diferencia / diaEnMilisegundos );
}
const fecha1 = new Date();
const fecha2 = new Date(2020, 05, 30);
fnDiasEntreFechas(fecha1, fecha2);
<script>
function diasEntreFechas(fecha1, fecha2){
//Cuantos milisegundos hay en un dia
const unDia = 1000 * 60 * 60 * 24
//Convierte el numero en positivo, nos dara milisegundos
const diferencia = Math.abs(fecha1 - fecha2)
//Para redondear para abajo
return Math.floor(diferencia / unDia)
}
const hoy = new Date () //Tendra fecha actual por defecto
const nacimiento = new Date(1991, 9 , 16) //Formato es YYYY,M, DD. El mes empieza Enero = 0 y asi
console.log(diasEntreFechas(hoy, nacimiento))
</script>```
que vacano ese ejercicio ! gracias.
function daysIntoDates(date1, date2) {
const ONE_DAY = 1000 * 60 * 60 * 24
const DIFFERENCE = Math.abs(date1 - date2)
return Math.floor(DIFFERENCE / ONE_DAY)
}
const TODAY = new Date()
const BIRTH_DATE = new Date(2002, 3, 17)
Para crear una nueva instancia de una Fecha se hace const Fecha = new Date(año, mes, dia)
teniendo en cuenta que Javascript cuenta los meses desde el 0 que es Enero.
Mi aporte :
let date = new Date()
let cumpleaños = new Date(1999, 05, 16)
function obtenerDias(fecha2 ,fecha1 = date, año = 365) {
let dia = 1000 * 60 * 60 * 24
let diferencia_de_dias = Math.abs(fecha1 - fecha2)
let calculo = Math.floor(diferencia_de_dias/dia)
return console.log(`Han pasado ${calculo} días desde tu nacimiento y tienes ${(calculo/año).toFixed(2)} años`)
}
obtenerDias(cumpleaños)
new Date Arroja el tiempo en milisegundos cuando se usa como numero
MIS APUNTES SOBRE EL MANEJO DE FECHAS
//Calcular cuantos dias pasaron desde el dia de mi nacimiento hasta el dia de hoy
const diasEntreFechas = (fecha1, fecha2) =>{
//Metodo Math.abs si un numero es negativo lo pasa a positivo y si el numero
// es positivo l deja como esta
//calculamos cuantos milisegundos hay en un dia
const unDia = 1000 * 60 * 60 * 24;
//esta operacion nos dara un numero en milisegundos
const diferencia = Math.abs(fecha1 - fecha2);
return Math.floor(diferencia / unDia);
}
// new Data() trae la fecha actual por defecto
const hoy = new Date()
// fecha nacimiento pasandosela por parametro
// recibe año - mes - dia
const nacimiento = new Date(2001, 7, 22)```
Cabe destacar que si quieres poner el mes de Enero en date debes comenzar desde 00, no desde 01 ya que este es Febrero
me parecio interesante el manejo de fechas
Muy buena clase.
excelente explicación!!!
buenasc clases
Comparto mi codigo, espero te sea util, relevante 😃
/*
Autor: Daniel Páez
URL Autor: heysoypaez.com
Tema de la clase: Uso de la fecha en javascript
Descripción: Aprovechando el objeto Date() para hacer calculos conzz
URL código: github.com/heysoypaez
*/
/*PROTOCOLO DE VERIFICACIÓN DE FUNCIONAMIENTO
==================================*/
//Imprimiendo algo en la consola
console.log("inicializando archivo");
/*DECLARACIÓN DE OBJETOS
============================*/
let daniel = {
nombre: "Daniel",
apellido: "Pàez",
edad: 18,
nacimiento: new Date(2000,2,15),
llegaChile: new Date(2017,8,5)
}
let betsabet = {
nombre: "Betsabet",
apellido: "Soto",
edad: 18,
nacimiento: new Date(1979,4,10)
}
/*DECLARACIÓN DE VARIABLES
==================================*/
const hoy = new Date();
let texto;
/*DECLARACIÓN DE FUNCIONES
========================================================*/
function diasEntreFechas(texto, fecha1, fecha2) {
/*DECLARACION DE VARIABLES
===========================*/
const unDia = 1000 * 60 * 60 * 24;
const unAño = unDia * 365;
//return 86 400 000
const diferencia = Math.abs(fecha1 - fecha2);
//podemos restar o sumar las fechas
//con Math.abs() recibo el valor absoluto
const diferenciaEnDias = Math.round(diferencia / unDia);
//esto convertira un tiempo expresado en Mseg a Dias
const diferenciaEnAños = (diferencia / unAño).toFixed(1);
let mensaje = `Respecto a ${texto} Hay ${diferenciaEnDias} días de diferencia y ${diferenciaEnAños} años.`;
/*OUTPUT, MOSTRAR EN PANTALLA
================================*/
console.log(mensaje);
}
diasEntreFechas("mi fecha de nacimiento", hoy, daniel.nacimiento)
// diasEntreFechas("mi fecha de llegada a Chile", hoy, daniel.llegaChile)
// diasEntreFechas("la fecha de nacimiento de mami", hoy, betsabet.nacimiento)
/*EJECUCIÓN DE FUNCIONES Y PROMESAS
========================================0*/
/*=======================================
RENDER EN PANTALLA
Agregando al html datos de la clase
=======================================*/
//Variables
let temaClase = "¿Hace cuanto naciste?";
let titulo = document.getElementById("title")
let contenidoClase = document.getElementById("contenido-clase")
//Variables reasignadas
titulo.innerHTML= temaClase;
contenidoClase.innerHTML= temaClase;
//contenido de la clase
let apuntes = document.getElementById("apuntes")
let textoContenido = "=> Reduce al minimo el alcance de cada una de las variables a menos que tenga un objetivo concreto"
apuntes.innerHTML = `${textoContenido}`;
Buena clase !!
Buena clase (Y)
Javascript posiblemente igual a java 😃
No tengo mucho que decir excepto que me parece un buen método para obtener esta diferencia. Particularmente lo habría hecho diferente puesto que no conocía el uso de ‘DATE’.
// Autor : Cristhian Hernandez
// Programa: Calcular años en dias
// fecha : 4/06/2019
function diaEntreFechas(f1, f2)
{
const unDia = 1000 * 60 * 60 * 24;
const diferencia = Math.abs(f1 - f2);
return Math.floor(diferencia / unDia);
}
const hoy = new Date();
var dia = parseInt(prompt('¿Dia de nacimiento?'));
var mes = parseInt(prompt('Mes de nacimiento?'));
var year = parseInt(prompt('Año de nacimiento?'));
const nacimiento = new Date(year, mes, dia);
var diasCalculado = diaEntreFechas(hoy, nacimiento);
var edad = diasCalculado / 365;
edad = Math.floor(edad);
console.log(`Mi edad en días son: ${diasCalculado}, que seria ${edad}`);```
Muy buena clase!!
me encanto esto, no se porque pero ahora ya siempre me acuerdo del algoritmo este
Genial!!!
12778 días!!!
feliz cumple atrasado
Buena aclaración esto sirve para los que quieran hacer un reloj con js y su cronómetro
function diasEntreFechas(fecha1, fecha2) {
const unDia = 1000 * 60 * 60 * 24
const diferencia = Math.abs(fecha1 - fecha2)
return Math.floor(diferencia / unDia)
}
const hoy = new Date();
const fechaNacimiento = new Date(1998, 06, 23)
No quiero saber cuantos dias pasaron desde que naci 😦
Con fecha de nacimiento introducida por el usuario:
function diasEntreFechas(fecha1, fecha2){
const unDia = 1000 * 60 * 60 * 24
const diferencia = Math.abs(fecha1 - fecha2)
return Math.floor(diferencia / unDia)
}
var anoDeNacimiento = prompt('Introduce tu año de nacimiento: ')
var mesDeNacimiento = prompt('Introduce tu mes de nacimiento: ')
var diaDeNacimiento = prompt('Introduce tu dia de nacimiento: ')
mesDeNacimiento -= 1
const hoy = new Date()
const nacimiento = new Date(anoDeNacimiento, mesDeNacimiento, diaDeNacimiento)
Wow! Bastante importante esta clase, porque es necesario saber el manejo de fechas 😃
9935 😃
Pretty cool, y yo que me hacía bolas con las fechas, hasta ahora veo que es más sencillo trabajar con ellas. Gracias!
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Manejo de Fechas en JS</title>
</head>
<body>
<script>
function diasEntreFechas (fecha1, fecha2) {
const unDia = 1000 * 60 * 60 * 24;
const diferencia = Math.abs(fecha1 - fecha2);
return Math.floor(diferencia / unDia);
}
const hoy = new Date();
const nacimiento = new Date(1986, 4, 16);
</script>
</body>
</html>
const diasEntreFechas = (fecha1, fecha2)=>{
const unDia = 1000 * 60 * 60 * 24;
const diferencia = Math.abs(fecha1 - fecha2);
return Math.floor(diferencia / unDia);
}
const hoy = new Date();
const nacimiento = new Date(1990, 1, 28);```
Excelente
necesito aprender esto urgente
Excelente
function diasEntreFechas (fecha1, fecha2) {
const unDia = 1000 * 60 * 60 * 24
const diferencia = Math.abs(fecha1 - fecha2)
return Math.floor(diferencia / unDia)
}
const hoy = new Date()
const nacimiento = new Date(1993, 10, 28)
fecha = diasEntreFechas(hoy, nacimiento)
console.log(hoy)
console.log(nacimiento)
console.log(`dias vividos son ${fecha}`)```
Buena clase, aunque no se mostraron otros métodos como getFullYear, seconds, time, day 😃
https://developer.mozilla.org/es/docs/Web/JavaScript/Referencia/Objetos_globales/Date
11479 días ¯_(´°°`)_/¯
Como arrow function
const oneDay = 1000 * 60 * 60 * 24;
let daysBetweenDates = (date1, date2) => {
const diference = Math.abs(date1 - date2);
return Math.floor(diference / oneDay);
}
const today = new Date();
const bornDate = new Date(2000, 3 , 8);
console.log(daysBetweenDates(today, bornDate));
13547 días 😃
Para pedir al usuario que ingrese su cumpleaños:
function diasEntreFechas(fecha1, fecha2) {
const unDia = 1000 * 60 * 60 * 24
const diferencia = Math.abs(fecha1 - fecha2)
return Math.floor(diferencia / unDia)
}
const hoy = new Date()
const dia = prompt('¿Que día naciste?')
const mes = prompt('¿En que mes naciste?')
const año = prompt('¿En que año naciste?')
const nacimiento = new Date(año, mes-1, dia)
let diasDif = diasEntreFechas (hoy, nacimiento)
let edad = Math.floor(diasDif / 365)
console.log(`Desde tu cumple hasta hoy hay ${diasDif} días de diferencia y tenés ${edad} años.`)
```
Mi aporte
function diferenciaEntreFechas(fecha1,fecha2){
// Las fechas en JS se manejan en milisegundos, para interpretar la siguiente definicion (UN_DIA)
// Lo leemos de la siguiente manera.. un segundo tiene mil milisegundos, un minuto tiene 60 segundos, una hora tiene 60 minutos y un dia tiene 24 horas
const UN_DIA = 1000 * 60 * 60 * 24
// Utilizamos la funcion ABS para retornar el valor abosulto de la resta entre fechas
// de esta manera no tenemos problemas con que el resultado pudiera ser negativo
const diferencia = Math.abs(fecha1-fecha2)
return Math.floor(diferencia / UN_DIA)
}
// La siguiente funcion nos devuelve la fecha del dia de hoy
const hoy = new Date()
// Pedimos la fecha de nacimiento del usuario
const dia = prompt('¿Qué día naciste?')
const mes = prompt('¿En qué mes naciste?')
const año = prompt('¿En qué año naciste?')
// Con la siguiene constante almacenamos la fecha de nacimiento haciendo uso d la funcion date
// Al mes se le resta 1 ya que javascript al parecer (yo supongo) maneja los meses como si fueran parte de un array
const nacimiento = new Date(año,mes-1,dia)
// almacenando el resultado de la funcion diferencia entre dias
const diferenciaDias = diferenciaEntreFechas(hoy,nacimiento)
// almacenando y calculando la edad en base a la diferencia entre dias
const edad = Math.floor(diferenciaDias/365)
const meses = Math.floor(diferenciaDias / 30)
// Impresion de los resultados
console.log(`Tienes ${edad} años y han pasado ${diferenciaDias} dias desde tu nacimiento`)
math.abs
Sacha te vez mas grande 🤭
Excelente dato. Muchas gracias. 🙂
Buen truco el de unDia
Tus dias vividos son:
function diasEntreFechas(fecha1, fecha2) {
const unDia = 1000 * 60 * 60 * 24;
const diferencia = Math.abs(fecha1 - fecha2);
return Math.floor(diferencia / unDia);
}
const hoy = new Date();
const nacimiento = new Date(1981, 7, 5);
fecha = diasEntreFechas(hoy, nacimiento);
console.log(hoy);
console.log(nacimiento);
console.log(`Sus dias vividos son:${fecha}`);
Genial.
buen dato
Muy interesante
😮 entonces cuando diga mi mes de nacimiento en vez de decir 05 (Mayo) ahora diré 04 😄 JAJAJ
7877 días!
muy buen dato, en algunos casos, el manejo de fechas es un dolor de cabeza.
function diasEntreFechas(fecha1, fecha2) {
const unDia = 1000 * 60 * 60 * 24
const diferencia = Math.abs(fecha1 - fecha2)
return Math.floor(diferencia / unDia)
}
const hoy = new Date()
const nacimiento = new Date(1967, 10, 9)
diasEntreFechas(hoy, nacimiento)
uy comooo
Grandioso
Tengo 8290 días… Cool.
Tengo más de 10,000 días de edad, comienzo a vo,ver e un hechicero de JavaScript.
olvidé cambiar la fecha del profe con la mía y dije KHE como que viví 10 mil días
11333 días tengo ahora mismo, está genial conocer javaScript en profundidad
6559 dias desde que nací :0
10286 días !!!
8mil días jaja me encantó esta clase!
7504 dias !! XD
Genial !
10157 son los días desde mi nacimiento !!
muy interesante el new Date( ) 😃
10340 días 😄
Nice.
function diasEntreFechas(fecha1, fecha2){
const unDia= 1000 * 60 * 60 * 24
const diferencia = Math.abs(fecha1 - fecha2)//retorna la diferencia en milisegundos
return Math.floor(diferencia / unDia)
}
const hoy = new Date()
const nacimiento = new Date(1996, 4, 10)
const años = diasEntreFechas(hoy, nacimiento) / 365
console.log(Jonathan tienes ${años} de vida!
)
Respuesta:
Jonathan tienes 24.035616438356165 de vida!
¿Quieres ver más aportes, preguntas y respuestas de la comunidad?