Js タイムスタンプの場合は、年のみを変更し、変更後のタイムスタンプを見つけます。

タイムスタンプの場合は、年のみを変更し、変更後のタイムスタンプを見つけます。たとえば、2023-09-07 15:01:02 を表すタイムスタンプを取得し、それを 2021-09-07 15:01:02 で表されるタイムスタンプに変更します。2 月 29 日の場合、2 月 28 日の対応するタイムスタンプになります。モーメントプラグインを使用します。

便利な時間操作に使用できる Moment.js プラグインを使用できます。

サンプルコードは次のとおりです。

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的时间戳

Moment.js プラグインを使用する場合は、まずmoment()関数を使用してタイムスタンプを Moment オブジェクトに変換する必要があることに注意してください。次に、Moment オブジェクトのメソッドを使用して時間操作を実行し、最後にvalueOf()Moment オブジェクトを変換して戻すことができます。関数を介したタイムスタンプ。

おすすめ

転載: blog.csdn.net/u012632105/article/details/132754329