Js Para una marca de tiempo, solo cambie su año y busque la marca de tiempo después del cambio.

Para una marca de tiempo, solo cambie su año y busque la marca de tiempo después del cambio. Por ejemplo, obtenga una marca de tiempo que represente la hora 2023-09-07 15:01:02 y cámbiela a la marca de tiempo representada por 2021-09-07 15:01:02. Si es el 29 de febrero, se convierte en la marca de tiempo correspondiente al 28 de febrero. Utilice el complemento de momento.

Puede utilizar el complemento Moment.js, que se puede utilizar para realizar fácilmente operaciones de tiempo.

Aquí hay un código de muestra:

function changeTimestampYear(timestamp, year) {
  const momentDate = moment(timestamp);
  const newMomentDate = momentDate.year(year);
  if (newMomentDate.month() === 1 && newMomentDate.date() === 29) {
    // 如果改变年份后是2月29日,判断是否是闰年
    if (year % 4 !== 0 || (year % 100 === 0 && year % 400 !== 0)) {
      // 不是闰年,则将日期设置为2月28日
      newMomentDate.date(28);
    }
  }
  return newMomentDate.valueOf();
}

// 示例用法
const timestamp = 1660010462000; // 2022-08-08 13:34:22的时间戳
const newTimestamp = changeTimestampYear(timestamp, 2024); // 改变年份为2024
console.log(newTimestamp); // 输出:1701574062000,代表2024-08-07 13:34:22的时间戳

Tenga en cuenta que cuando usa el complemento Moment.js, primero debe moment()convertir la marca de tiempo en un objeto Moment a través de una función, luego puede usar los métodos del objeto Moment para realizar operaciones de tiempo y finalmente valueOf()convertir el objeto Moment nuevamente a una marca de tiempo a través de una función.

Supongo que te gusta

Origin blog.csdn.net/u012632105/article/details/132754329
Recomendado
Clasificación