yyyy - sumar horas a una fecha javascript




¿Cómo obtengo la fecha actual en JavaScript? (20)

¿Cómo obtengo la fecha actual en JavaScript?


¡ACTUALIZADO! Desplazarse hacia abajo

Si desea algo simple para el usuario final ... Also, fixed a small suffix issue in the first version below. Now properly returns suffix. Also, fixed a small suffix issue in the first version below. Now properly returns suffix.

var objToday = new Date(),
	weekday = new Array('Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'),
	dayOfWeek = weekday[objToday.getDay()],
	domEnder = function() { var a = objToday; if (/1/.test(parseInt((a + "").charAt(0)))) return "th"; a = parseInt((a + "").charAt(1)); return 1 == a ? "st" : 2 == a ? "nd" : 3 == a ? "rd" : "th" }(),
	dayOfMonth = today + ( objToday.getDate() < 10) ? '0' + objToday.getDate() + domEnder : objToday.getDate() + domEnder,
	months = new Array('January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'),
	curMonth = months[objToday.getMonth()],
	curYear = objToday.getFullYear(),
	curHour = objToday.getHours() > 12 ? objToday.getHours() - 12 : (objToday.getHours() < 10 ? "0" + objToday.getHours() : objToday.getHours()),
	curMinute = objToday.getMinutes() < 10 ? "0" + objToday.getMinutes() : objToday.getMinutes(),
	curSeconds = objToday.getSeconds() < 10 ? "0" + objToday.getSeconds() : objToday.getSeconds(),
	curMeridiem = objToday.getHours() > 12 ? "PM" : "AM";
var today = curHour + ":" + curMinute + "." + curSeconds + curMeridiem + " " + dayOfWeek + " " + dayOfMonth + " of " + curMonth + ", " + curYear;

document.getElementsByTagName('h1')[0].textContent = today;
<h1></h1>

ACTUALIZACIÓN DE GitHubbed Después de muchas GitHubbed finalmente he GitHubbed y actualicé esto con la solución final que he estado usando para mí. ¡Incluso ha tenido algunas ediciones de último minuto para hacerlo más dulce! Si está buscando el viejo jsFiddle, por favor vea esto .

Esta actualización viene en 2 versiones, aún relativamente pequeña, aunque no tan pequeña como mi respuesta original. Si quieres extremadamente pequeño, ve con eso.
También tenga en cuenta: Esto está aún menos hinchado que el moment.js. Si bien moment.js es agradable, imo, tiene muchos métodos seculares, que requieren un momento de aprendizaje como si fuera un lenguaje. El mío aquí usa el mismo formato común que PHP:date .

enlaces rápidos

Flavor 1 new Date().format(String) My Personal Fav. Conozco el tabú, pero funciona muy bien en el objeto Date. Solo tenga en cuenta cualquier otra modificación que pueda tener en el objeto Date.

//  use as simple as
new Date().format('m-d-Y h:i:s');   //  07-06-2016 06:38:34

Flavor 2 dateFormat(Date, String) Método todo en uno más tradicional. Tiene toda la capacidad de la anterior, pero se llama a través del método con fecha param.

//  use as simple as
dateFormat(new Date(), 'm-d-Y h:i:s');  //  07-06-2016 06:38:34

BONUS Flavor (requiere jQuery) $.date(Date, String) Esto contiene mucho más que una simple opción de format . Extiende el objeto Fecha base e incluye métodos como addDays . Para obtener más información, consulte el Git .

En este mod, los caracteres de formato están inspirados en PHP:date . Para una lista completa, por favor vea mi README

Este mod también tiene una lista mucho más larga de formatos prefabricados. Para usar un formato prefabricado, simplemente ingrese su nombre clave. dateFormat(new Date(), 'pretty-a');

  • 'compuesto'
    • 'commonLogFormat' == 'd / M / Y: G: i: s'
    • 'exif' == 'Y: m: d G: i: s'
    • 'isoYearWeek' == 'Y \\ WW'
    • 'isoYearWeek2' == 'Y - \\ WW'
    • 'isoYearWeekDay' == 'Y \\ WWj'
    • 'isoYearWeekDay2' == 'Y - \\ WW-j'
    • 'mySQL' == 'Ymd h: i: s'
    • 'postgreSQL' == 'Y.z'
    • 'postgreSQL2' == 'Yz'
    • 'soap' == 'Ymd \\ TH: i: s.u'
    • 'soap2' == 'Ymd \\ TH: i: s.uP'
    • 'unixTimestamp' == '@U'
    • 'xmlrpc' == 'Ymd \\ TG: i: s'
    • 'xmlrpcCompact' == 'Ymd \\ tGis'
    • 'wddx' == 'Ynj \\ TG: i: s'
  • 'constantes'
    • 'AMERICANO' == 'F j Y'
    • 'AMERICANSHORT' == 'm / d / Y'
    • 'AMERICANSHORTWTIME' == 'm / d / Y h: i: sA'
    • 'ATOM' == 'Ymd \\ TH: i: sP'
    • 'COOKIE' == 'l dMY H: i: s T'
    • 'EUROPEAN' == 'j F Y'
    • 'EUROPEANSHORT' == 'dmY'
    • 'EUROPEANSHORTWTIME' == 'dmY H: i: s'
    • 'ISO8601' == 'Ymd \\ TH: i: sO'
    • 'LEGAL' == 'j F Y'
    • 'RFC822' == 'D d M y H: i: s O'
    • 'RFC850' == 'l dMy H: i: s T'
    • 'RFC1036' == 'D d M y H: i: s O'
    • 'RFC1123' == 'D d MYH: i: s O'
    • 'RFC2822' == 'D d MYH: i: s O'
    • 'RFC3339' == 'Ymd \\ TH: i: sP'
    • 'RSS' == 'D d MYH: i: s O'
    • 'W3C' == 'Ymd \\ TH: i: sP'
  • 'bonita'
    • 'pretty-a' == 'g: i.sA l jS \\ o \\ f F Y'
    • 'pretty-b' == 'g: iA l jS \\ o \\ f F Y'
    • 'pretty-c' == 'n / d / Y g: iA'
    • 'pretty-d' == 'n / d / Y'
    • 'pretty-e' == 'F jS - g: ia'
    • 'pretty-f' == 'g: iA'

Como puede observar, puede usar double \ para escapar de un personaje.


¿Cuál es el problema con esto? La forma más limpia de hacerlo es

var currentDate=new Date().toLocaleString().slice(0,10);


Creo que esta es una vieja pregunta pero la forma más fácil sería la siguiente:

var date = new Date();
var TimeStamp = date.toLocaleString();

function CurrentTime(){
  alert(TimeStamp);
}

Esto capturará la hora actual, la pasará a una cadena según la ubicación y luego podrá llamar a la función CurrentTime para mostrar la hora. Esta sería, para mí, la forma más efectiva de obtener una marca de tiempo para algo.


Esto funciona cada vez:

    var now = new Date();
    var day = ("0" + now.getDate()).slice(-2);
    var month = ("0" + (now.getMonth() + 1)).slice(-2);
    var today = now.getFullYear() + "-" + (month) + "-" + (day);
    
    document.write(today);


La respuesta más corta es: new Date().toJSON().slice(0,10)


No sé si ayudará a alguien, pero estoy usando esto para obtener el objeto Date de hoy.

new Date( 3600000*Math.floor(Date.now()/3600000) )


Puede usar la biblioteca Date.js que amplía el objeto Date, por lo que puede tener el método .today ().


Puedes usar esto

<script>
function my_curr_date() {      
    var currentDate = new Date()
    var day = currentDate.getDate();
    var month = currentDate.getMonth() + 1;
    var year = currentDate.getFullYear();
    var my_date = month+"-"+day+"-"+year;
    document.getElementById("dateField").value=my_date;    
}
</script>

El HTML es

<body onload='return my_curr_date();'>
    <input type='text' name='dateField' id='dateField' value='' />
</body>

Puedes usar moment.js: http://momentjs.com/

var m = moment().format("DD/MM/YYYY");

document.write(m);
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.14.1/moment.min.js"></script>


Si está satisfecho con el formato YYYY-MM-DD, esto también funcionará.

new Date().toISOString().split('T')[0]

2018-03-10


Si está utilizando jQuery. Pruebe este un trazador de líneas:

$.datepicker.formatDate('dd/mm/yy', new Date());

Aquí está la convención para formatear la fecha.

  • d - día del mes (sin cero inicial)
  • dd - día del mes (dos dígitos)
  • o - día del año (sin ceros iniciales)
  • oo - día del año (tres dígitos)
  • D - nombre del día corto
  • DD - nombre del día largo
  • m - mes del año (sin cero)
  • mm - mes del año (dos dígitos)
  • M - nombre corto del mes
  • MM - nombre del mes largo
  • y - año (dos dígitos)
  • yy - año (cuatro dígitos)

Aquí está la referencia para jQuery datepicker


Si solo quieres una fecha sin información de tiempo, usa:

var today = new Date();
    today.setHours(0, 0, 0, 0);

document.write(today);


Use new Date() para generar un nuevo objeto Date que contenga la fecha y la hora actuales.

var today = new Date();
var dd = today.getDate();
var mm = today.getMonth()+1; //January is 0!
var yyyy = today.getFullYear();

if(dd<10) {
    dd = '0'+dd
} 

if(mm<10) {
    mm = '0'+mm
} 

today = mm + '/' + dd + '/' + yyyy;
document.write(today);

Esto le dará la fecha de hoy en el formato de mm / dd / aaaa.

Simplemente cambie today = mm +'/'+ dd +'/'+ yyyy; a cualquier formato que desee.


Lo más corto posible.

Para obtener formato como "2018-08-03":

let today = new Date().toISOString().slice(0, 10)

console.log(today)

Para obtener un formato como "8/3/2018":

let today = new Date().toLocaleDateString()

console.log(today)

Además, puede pasar la locale como argumento, por ejemplo, toLocaleDateString("sr") , etc.


Una solución de JS de una línea:

tl; dr

var todaysDate = new Date(Date.now()).toLocaleString().slice(0,3).match(/[0-9]/i) ? new Date(Date.now()).toLocaleString().split(' ')[0].split(',')[0] : new Date(Date.now()).toLocaleString().split(' ')[1] + " " + new Date(Date.now()).toLocaleString().split(' ')[2] + " " + new Date(Date.now()).toLocaleString().split(' ')[3];

edge, ff latest, & chrome return todaysDate = "2/7/2017"
"funciona" * en IE10 +

EDITAR 2/7/2017

Descubrí que IE10 e IE Edge hacen las cosas de manera un poco diferente ... imagínate. con la new Date(Date.now()).toLocaleString() como entrada,

IE10 devuelve:

"Tuesday, February 07, 2017 2:58:25 PM"

Podría escribir una gran función larga y FTFY. Pero realmente moment.js usar moment.js para estas cosas. Mi script simplemente lo limpia y le brinda la notación tradicional expandida de los Estados Unidos: > todaysDate = "March 06, 2017"

Devuelve IE EDGE:

"‎2‎/‎7‎/‎2017‎ ‎2‎:‎59‎:‎27‎ ‎PM"

Por supuesto que no podría ser tan fácil. La cadena de fecha del borde tiene caracteres "•" invisibles entre cada uno visible. Así que no solo comprobaremos si el primer carácter es un número, sino los primeros 3 caracteres, ya que resulta que cualquier carácter individual en todo el rango de fechas será finalmente un punto o una barra en algún momento. Así que para mantener las cosas simples, solo .slice() los primeros tres caracteres (un pequeño búfer contra futuros chanchullos) y luego verifique los números. Probablemente debería notarse que estos puntos invisibles podrían persistir en su código. Tal vez me gustaría profundizar en eso si tienes planes más grandes que simplemente imprimir esta cadena a tu vista.

∴ actualizado de una sola línea:

var todaysDate = new Date(Date.now()).toLocaleString().slice(0,3).match(/[0-9]/i) ? new Date(Date.now()).toLocaleString().split(' ')[0].split(',')[0] : new Date(Date.now()).toLocaleString().split(' ')[1] + " " + new Date(Date.now()).toLocaleString().split(' ')[2] + " " + new Date(Date.now()).toLocaleString().split(' ')[3];

Eso apesta a leer. Qué tal si:

var dateString = new Date(Date.now()).toLocaleString();
var todaysDate = dateString.slice(0,3).match(/[0-9]/i) ? dateString.split(' ')[0].split(',')[0] : dateString.split(' ')[1] + " " + dateString.split(' ')[2] + " " + dateString.split(' ')[3];

RESPUESTA ORIGINAL

Tengo una frase para usted:

new Date(Date.now()).toLocaleString().split(', ')[0];

y [1] te dará la hora del día.


var d = (new Date()).toString().split(' ').splice(1,3).join(' ');

document.write(d)

Para descomponerlo en pasos:

  1. (new Date()).toString() muestra "Fri Jun 28 2013 15:30:18 GMT-0700 (PDT)"

  2. (new Date()).toString().split(' ') divide la cadena anterior en cada espacio y devuelve una matriz de la siguiente manera: ["Fri", "Jun", "28", "2013", "15: 31:14 "," GMT-0700 "," (PDT) "]

  3. (new Date()).toString().split(' ').splice(1,3).join(' ') toma los valores segundo, tercero y cuarto de la matriz anterior, los une con espacios y devuelve un cadena "28 de junio 2013"


var utc = new Date().toJSON().slice(0,10).replace(/-/g,'/');
document.write(utc);

Use la opción de replace si va a reutilizar la variable utc , como new Date(utc) , ya que Firefox y Safari no reconocen una fecha con guiones.


new Date().toISOString().slice(0,10); 

funcionaria tambien


var date = new Date().toLocaleDateString("en-US");

Además, puede llamar al método toLocaleDateString con dos parámetros:

var date = new Date().toLocaleDateString("en-US", {
    "year": "numeric",
    "month": "numeric"
});

Artículo sobre MSDN . Más sobre este método en MDN .







date