Почему я не могу отформатировать даты после того, как они возвращены этой функцией?

У меня есть лист Google, который принимает даты, а затем использует эту функцию.

function nextDueDate(date1, date2, date3, date4, date5, date6, done1, done2, done3, done4, done5, done6) {
  const today = new Date();
  const dates = [new Date(date1), new Date(date2), new Date(date3),new Date(date4), new Date(date5), new Date(date6)];
  var dones = [done1, done2, done3, done4, done5, done6];

  // Completes earlier tasks if subsequent tasks are completed
  var dones = dones.map((val,index) => { if (dones.lastIndexOf('x')>=index ) {return 'x'}});

  // Filter for dates that are not done
  const futureDates = dates.filter((date,index) => !dones[index]);

  // Find the earliest date from the filtered future dates
  const nextDueDate = futureDates.reduce((earliest, date) => {
    return date < earliest ? date : earliest;
  }, new Date('2999-12-31')); // initial date far in the future

  // If the nextDueDate year is still in the far future then all tasks are done (on no dates)
  return (nextDueDate.getFullYear() === 2999) ? 'DELETE' : nextDueDate.toLocaleDateString(); // Returns the next due date in a readable format
}

После возврата даты даты форматируются следующим образом: 2024-06-26. Но я хочу иметь возможность форматировать их как «Ср, 26 июня». Но когда я пытаюсь изменить форматирование даты, оно остается прежним. Я предполагаю, что он не возвращается как обычный объект даты. Как мне преобразовать его в тип даты, который я затем могу переформатировать?

То, как вы обращаетесь с dones, похоже, предполагает, что даты указаны в отсортированном порядке. Так ли это?

trincot 26.06.2024 16:03
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
1
1
54
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Изменение последней строки на это вернет формат даты, который вы ищете.

return (nextDueDate.getFullYear() === 2999) ? 'DELETE' : Utilities.formatDate(nextDueDate, "GMT", "EEE dd MMM"); // Returns the next due date in a readable format

Спасибо. Вы мне очень помогли.

Alfie Stoppani 27.06.2024 00:32

Другие вопросы по теме