yyyy parse formato fecha current convert change javascript date formatting date-format time-format

parse - javascript date to string format dd mm yyyy hh mm ss



Formatear la fecha de JavaScript en aaaa-mm-dd (25)

¿Por qué no simplemente usar esto?

var date = new Date(''1970-01-01''); //or your date here console.log((date.getMonth() + 1) + ''/'' + date.getDate() + ''/'' + date.getFullYear());

Simple y dulce;)

Hola a todos, tengo un formato de fecha Domingo 11 de mayo de 2014, ¿cómo puedo convertirlo a 2014-05-11 en javascript?

function taskDate(dateMilli) { var d = (new Date(dateMilli) + '''').split('' ''); d[2] = d[2] + '',''; return [d[0], d[1], d[2], d[3]].join('' ''); } var datemilli = Date.parse(''Sun May 11,2014''); taskdate(datemilli);

el código anterior me da el mismo formato de fecha sol 11,2014 por favor ayuda


Algunos de estos últimos estaban bien, pero no eran muy flexibles. Quería algo que realmente pudiera manejar más casos extremos, así que tomé la respuesta de @orangleliu y la amplié. https://jsfiddle.net/8904cmLd/1/

function DateToString(inDate, formatString) { // Written by m1m1k 2018-04-05 // Validate that we''re working with a date if(!isValidDate(inDate)) { inDate = new Date(inDate); } // see the jsFiddle for extra code to be able to use DateToString(''Sun May 11,2014'',''USA''); //formatString = CountryCodeToDateFormat(formatString); var dateObject = { M: inDate.getMonth() + 1, d: inDate.getDate(), D: inDate.getDate(), h: inDate.getHours(), m: inDate.getMinutes(), s: inDate.getSeconds(), y: inDate.getFullYear(), Y: inDate.getFullYear() }; // Build Regex Dynamically based on the list above. // Should end up with something like this "/([Yy]+|M+|[Dd]+|h+|m+|s+)/g" var dateMatchRegex = joinObj(dateObject, "+|") + "+"; var regEx = new RegExp(dateMatchRegex,"g"); formatString = formatString.replace(regEx, function(formatToken) { var datePartValue = dateObject[formatToken.slice(-1)]; var tokenLength = formatToken.length; // A conflict exists between specifying ''d'' for no zero pad -> expand to ''10'' and specifying yy for just two year digits ''01'' instead of ''2001''. One expands, the other contracts. // so Constrict Years but Expand All Else if(formatToken.indexOf(''y'') < 0 && formatToken.indexOf(''Y'') < 0) { // Expand single digit format token ''d'' to multi digit value ''10'' when needed var tokenLength = Math.max(formatToken.length, datePartValue.toString().length); } var zeroPad = (datePartValue.toString().length < formatToken.length ? "0".repeat(tokenLength) : ""); return (zeroPad + datePartValue).slice(-tokenLength); }); return formatString; }

Ejemplo de uso:

DateToString(''Sun May 11,2014'', ''MM/DD/yy''); DateToString(''Sun May 11,2014'', ''yyyy.MM.dd''); DateToString(new Date(''Sun Dec 11,2014''),''yy-M-d'');


Aquí hay una manera de hacerlo:

var date = Date.parse(''Sun May 11,2014''); function format(date) { date = new Date(date); var day = (''0'' + date.getDate()).slice(-2); var month = (''0'' + (date.getMonth() + 1)).slice(-2); var year = date.getFullYear(); return year + ''-'' + month + ''-'' + day; } console.log(format(date));


Date.js es genial para esto.

require("datejs") (new Date()).toString("yyyy-MM-dd")


Esto funcionó para mí, y puedes pegar esto directamente en tu HTML si es necesario para probar:

<script type="text/javascript"> if (datefield.type!="date"){ //if browser doesn''t support input type="date", initialize date picker widget: jQuery(function($){ //on document.ready $(''#Date'').datepicker({ dateFormat: ''yy-mm-dd'', // THIS IS THE IMPORTANT PART!!! showOtherMonths: true, selectOtherMonths: true, changeMonth: true, minDate: ''2016-10-19'', maxDate: ''2016-11-03'' }); }) } </script>


Fácilmente logrado por mi paquete de date-shortcode :

const dateShortcode = require(''date-shortcode'') dateShortcode.parse(''{YYYY-MM-DD}'', ''Sun May 11,2014'') //=> ''2014-05-11''


La forma más sencilla de convertir su fecha al formato aaaa-mm-dd es hacer esto:

var dateString = (new Date("Sun May 11,2014")).toISOString().split("T")[0];

Cómo funciona :

  • new Date("Sun May 11,2014") convierte la cadena "Sun May 11,2014" en un objeto de fecha
  • .toISOString() convierte el objeto de fecha en cadena ISO 8601 2014-05-10T22:00:00.000Z
  • .split("T") divide la cadena en matriz ["2014-05-10", "22:00:00.000Z"]
  • [0] toma el primer elemento de esa matriz

Manifestación

var dateString = (new Date("Sun May 11,2014")).toISOString().split("T")[0]; console.log(dateString);


Lo uso de esta manera para obtener la fecha en formato aaaa-mm-dd :)

var todayDate = new Date().toISOString().slice(0,10);


Modifiqué la respuesta de Samit Satpute de la siguiente manera:

var newstartDate = new Date(); // newstartDate.setDate(newstartDate.getDate() - 1); var startDate = newstartDate.toISOString().replace(/[-T:/.Z]/g, ""); //.slice(0, 10); // To get the Yesterday''s Date in YYYY MM DD Format console.log(startDate);


Ninguna de estas respuestas me satisfizo. Quería una solución multiplataforma que me diera el día en la zona horaria local sin utilizar ninguna biblioteca externa.

Esto es lo que se me ocurrió:

function localDay(time) { var minutesOffset = time.getTimezoneOffset() var millisecondsOffset = minutesOffset*60*1000 var local = new Date(time - millisecondsOffset) return local.toISOString().substr(0, 10) }

Esto debería devolver el día de la fecha, en formato YYYY-MM-DD, en la zona horaria a la que hace referencia la fecha.

Por ejemplo, localDay(new Date("2017-08-24T03:29:22.099Z")) devolverá "2017-08-23" , aunque ya es el día 24 en UTC.

Necesitará rellenar Date.prototype.toISOString para que funcione en IE8, pero debería ser compatible en cualquier otro lugar.


Otra combinación más de las respuestas. Muy legible, pero un poco largo.

function getCurrentDayTimestamp() { const d = new Date(); return new Date( Date.UTC( d.getFullYear(), d.getMonth(), d.getDate(), d.getHours(), d.getMinutes(), d.getSeconds() ) // `toIsoString` returns something like "2017-08-22T08:32:32.847Z" // and we want the first part ("2017-08-22") ).toISOString().slice(0, 10); }


Reformatear una cadena de fecha es bastante sencillo, por ejemplo

var s = ''Sun May 11,2014''; function reformatDate(s) { function z(n){return (''0'' + n).slice(-2)} var months = [,''jan'',''feb'',''mar'',''apr'',''may'',''jun'', ''jul'',''aug'',''sep'',''oct'',''nov'',''dec'']; var b = s.split(//W+/); return b[3] + ''-'' + z(months.indexOf(b[1].substr(0,3).toLowerCase())) + ''-'' + z(b[2]); } console.log(reformatDate(s));


Si la fecha debe ser la misma en todas las zonas horarias, por ejemplo, representa algún valor de la base de datos, asegúrese de usar las versiones utc del día, mes, funciones completas en el objeto de fecha js, ya que esto se mostrará en tiempo real y evitará 1 error en ciertas zonas horarias. Mejor aún use la biblioteca de fechas de moment.js para este tipo de formato


Simplemente aproveche el método integrado toISOString que lleva su fecha al formato ISO 8601.

yourDate.toISOString().split(''T'')[0]

donde yourDate es su objeto de fecha.


Solo use así Definitivamente trabajando para YYYY MM DD como si (2017-03-12)

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


Sugiero usar algo como esto https://github.com/brightbits/formatDate-js lugar de tratar de replicarlo todo el tiempo, solo use una biblioteca que admita todas las acciones principales de strftime.

new Date().format("%Y-%m-%d")


Todas las respuestas dadas son geniales y me ayudaron mucho. En mi situación, quería obtener la fecha actual en el formato aaaa mm dd junto con la fecha-1. Esto es lo que funcionó para mí.

var endDate = new Date().toISOString().slice(0, 10); // To get the Current Date in YYYY MM DD Format var newstartDate = new Date(); newstartDate.setDate(newstartDate.getDate() - 1); var startDate = newstartDate.toISOString().slice(0, 10); // To get the Yesterday''s Date in YYYY MM DD Format alert(startDate);


Una combinación de algunas de las respuestas:

var d = new Date(date); date = [ d.getFullYear(), (''0'' + (d.getMonth() + 1)).slice(-2), (''0'' + d.getDate()).slice(-2) ].join(''-'');


tu puedes hacer

function formatDate(date) { var d = new Date(date), month = '''' + (d.getMonth() + 1), day = '''' + d.getDate(), year = d.getFullYear(); if (month.length < 2) month = ''0'' + month; if (day.length < 2) day = ''0'' + day; return [year, month, day].join(''-''); }

ejemplo de uso:

alert(formatDate(''Sun May 11,2014''));

Salida:

2014-05-11

Demostración en violín: http://jsfiddle.net/abdulrauf6182012/2Frm3/


usted puede intentar esto: timeSolver.js

var date = new Date(); var dateString = timeSolver.getString(date, "YYYY-MM-DD");

Puede obtener una cadena de fecha usando este método:

getString

¡Espero que esto te ayudará!


String.padStart hace fácil:

var dateObj = new Date(); var dateStr = dateObj.getFullYear() + "-" + String(dateObj.getMonth() + 1).padStart(2, "0") + "-" + String(dateObj.getDate()).padStart(2, "0");


toISOString() asume que su fecha es hora local y la convierte a UTC. Obtendrá cadena de fecha incorrecta.

El siguiente método debería devolver lo que necesita.

Date.prototype.yyyymmdd = function() { var yyyy = this.getFullYear().toString(); var mm = (this.getMonth()+1).toString(); // getMonth() is zero-based var dd = this.getDate().toString(); return yyyy + ''-'' + (mm[1]?mm:"0"+mm[0]) + ''-'' + (dd[1]?dd:"0"+dd[0]); };

Fuente: https://blog.justin.kelly.org.au/simple-javascript-function-to-format-the-date-as-yyyy-mm-dd/


function formatDate(date) { var year = date.getFullYear().toString(); var month = (date.getMonth() + 101).toString().substring(1); var day = (date.getDate() + 100).toString().substring(1); return year + "-" + month + "-" + day; } alert(formatDate(new Date()));


function myYmd(D){ var pad = function(num) { var s = ''0'' + num; return s.substr(s.length - 2); } var Result = D.getFullYear() + ''-'' + pad((D.getMonth() + 1)) + ''-'' + pad(D.getDate()); return Result; } var datemilli = new Date(''Sun May 11,2014''); document.write(myYmd(datemilli));


format = function date2str(x, y) { var z = { M: x.getMonth() + 1, d: x.getDate(), h: x.getHours(), m: x.getMinutes(), s: x.getSeconds() }; y = y.replace(/(M+|d+|h+|m+|s+)/g, function(v) { return ((v.length > 1 ? "0" : "") + eval(''z.'' + v.slice(-1))).slice(-2) }); return y.replace(/(y+)/g, function(v) { return x.getFullYear().toString().slice(-v.length) }); }

resultado:

format(new Date(''Sun May 11,2014''), ''yyyy-MM-dd'') "2014-05-11