Saltar al contenido

Javascript agrega ceros a la izquierda hasta la fecha

Hola usuario de nuestro sitio web, descubrimos la solución a tu búsqueda, continúa leyendo y la encontrarás a continuación.

Prueba esto: http://jsfiddle.net/xA5B7/

var MyDate = new Date();
var MyDateString;

MyDate.setDate(MyDate.getDate() + 20);

MyDateString = ('0' + MyDate.getDate()).slice(-2) + '/'
             + ('0' + (MyDate.getMonth()+1)).slice(-2) + '/'
             + MyDate.getFullYear();

EDITAR:

Para explicar, .slice(-2) nos da la ultimo dos personajes de la string.

Así que no importa qué, podemos agregar "0" al día o al mes, y solo preguntar por los dos últimos ya que esos son siempre los dos que queremos.

Entonces si el MyDate.getMonth() devoluciones 9será:

("0" + "9") // Giving us "09"

así que agregando .slice(-2) en eso nos da los dos últimos caracteres que es:

("0" + "9").slice(-2)
"09"

Pero si MyDate.getMonth() devoluciones 10será:

("0" + "10") // Giving us "010"

así que agregando .slice(-2) nos da los dos últimos caracteres, o:

("0" + "10").slice(-2)
"10"

Aquí hay un ejemplo de los documentos del objeto Fecha en la Red de desarrolladores de Mozilla usando una función de “almohadilla” personalizada, sin tener que extender el prototipo de Número de Javascript. La práctica función que dan como ejemplo es

function pad(n)return n<10 ? '0'+n : n

Y debajo está siendo usado en contexto.

/* use a function for the exact format desired... */
function ISODateString(d)
    function pad(n)return n<10 ? '0'+n : n
    return d.getUTCFullYear()+'-'
    + pad(d.getUTCMonth()+1)+'-'
    + pad(d.getUTCDate())+'T'
    + pad(d.getUTCHours())+':'
    + pad(d.getUTCMinutes())+':'
    + pad(d.getUTCSeconds())+'Z'


var d = new Date();
console.log(ISODateString(d)); // prints something like 2009-09-28T19:03:12Z

La nueva forma moderna de hacer esto es usar toLocaleDateStringporque le permite no solo formatear una fecha con la localización adecuada, sino incluso pasar opciones de formato para archivar el resultado deseado:

var date = new Date(2018, 2, 1);
var result = date.toLocaleDateString("en-GB",  // you can skip the first argument
  year: "numeric",
  month: "2-digit",
  day: "2-digit",
);
console.log(result); // outputs “01/03/2018”

Cuando omita el primer argumento, detectará el idioma del navegador. Como alternativa, puede utilizar 2-digit en la opción del año, también.

Si no necesita admitir navegadores antiguos como IE10, esta es la forma más limpia de hacer el trabajo. IE10 y versiones inferiores no entenderán el argumento de las opciones.

Tenga en cuenta que también hay toLocaleTimeStringque le permite localizar y formatear la hora de una fecha.

Puedes añadir valor a nuestra información dando tu veteranía en las explicaciones.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)


Tags :

Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *