es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Utilizando la fecha del ordenador y añadiendo un indicador de día.

He estado intentando mostrar lo siguiente “en este 4to día de enero del año 2022“, utilizando JavaScript en una página HTML.

const monthNames = ["enero", "febrero", "marzo", "abril", "mayo", "junio",
  "julio", "agosto", "septiembre", "octubre", "noviembre", "diciembre"
];
const d = new Date();
var dayn = d.getDay()
var dayString;
if (dayn == 1) {
  dayString = "<sup>er</sup>"
} else if (dayn == 3) {
  dayString = "<sup>er</sup>"
} else if (dayn >= 4) {
  dayString = "<sup>to</sup>"
} else {
  dayString = "<sup>do</sup>"
}
var dateStr = "<b>" + dayn + dayString + "</b> día de <b>" + monthNames[d.getMonth()] + "</b> del año <b>" + d.getFullYear(); + "</b>"
document.write(dateStr);

Pero por alguna razón está mostrando hoy como el 2do y no el 4to y.

Donde quiero mostrar por ejemplo “4to marzo 2022″ (hoy +89 días), está fallando en hacerlo.

Por lo tanto, el objetivo es mostrar en la primera línea:

“en este 4to día de enero del año 2022

y en la siguiente línea:

“no más tarde del 3er día de marzo 2022“.

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Para mostrar la fecha “en este 4to día de enero del año 2022” en una página HTML utilizando JavaScript, puedes utilizar el siguiente código:

    const monthNames = ["enero", "febrero", "marzo", "abril", "mayo", "junio",
      "julio", "agosto", "septiembre", "octubre", "noviembre", "diciembre"
    ];
    const d = new Date(2022, 0, 4);
    var dayn = d.getDate();
    var dayString;
    if (dayn == 1) {
      dayString = "<sup>ro</sup>";
    } else if (dayn == 3) {
      dayString = "<sup>ro</sup>";
    } else if (dayn >= 4) {
      dayString = "<sup>to</sup>";
    } else {
      dayString = "<sup>do</sup>";
    }
    var dateStr = "en este <b>" + dayn + dayString + "</b> día de <b>" + monthNames[d.getMonth()] + "</b> del año <b>" + d.getFullYear() + "</b>";
    document.write(dateStr);
    

    Este código establece la fecha en el 4 de enero del 2022 utilizando new Date(2022, 0, 4), y luego formatea la cadena de la fecha utilizando la misma lógica que en el fragmento de código original.

    Para mostrar la fecha “a más tardar el 3er día de marzo 2022“, puedes modificar el código de la siguiente manera:

    const monthNames = ["enero", "febrero", "marzo", "abril", "mayo", "junio",
      "julio", "agosto", "septiembre", "octubre", "noviembre", "diciembre"
    ];
    const d1 = new Date(2022, 0, 4);
    const d2 = new Date(2022, 2, 3);
    var dayn1 = d1.getDate();
    var dayString1;
    if (dayn1 == 1) {
      dayString1 = "<sup>ro</sup>";
    } else if (dayn1 == 3) {
      dayString1 = "<sup>ro</sup>";
    } else if (dayn1 >= 4) {
      dayString1 = "<sup>to</sup>";
    } else {
      dayString1 = "<sup>do</sup>";
    }
    var dayn2 = d2.getDate();
    var dayString2;
    if (dayn2 == 1) {
      dayString2 = "<sup>ro</sup>";
    } else if (dayn2 == 3) {
      dayString2 = "<sup>ro</sup>";
    } else if (dayn2 >= 4) {
      dayString2 = "<sup>to</sup>";
    } else {
      dayString2 = "<sup>do</sup>";
    }
    var dateStr1 = "en este <b>" + dayn1 + dayString1 + "</b> día de <b>" + monthNames[d1.getMonth()] + "</b> del año <b>" + d1.getFullYear() + "</b>";
    var dateStr2 = "a más tardar el <b>" + dayn2 + dayString2 + "</b> día de <b>" + monthNames[d2.getMonth()] + " " + d2.getFullYear() + "</b>";
    document.write(dateStr1);
    document.write("<br>" + dateStr2);
    

    Este código establece dos fechas – el 4 de enero del 2022 (d1) y el 3 de marzo del 2022 (d2) – y luego formatea dos cadenas de fecha utilizando la misma lógica que en el fragmento de código original. La etiqueta <br> se utiliza para mostrar las dos cadenas de fecha en líneas separadas.

Comments are closed.