Форум программистов, компьютерный форум, киберфорум
JavaScript для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.81/47: Рейтинг темы: голосов - 47, средняя оценка - 4.81
5 / 5 / 0
Регистрация: 25.07.2017
Сообщений: 53

Вывод текста в зависимости от текущей даты

01.01.2019, 14:22. Показов 9326. Ответов 31
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте! Подскажите, пожалуйста, как можно на JavaScript реализовать вывод текста в зависимости от текущей даты:

если дата от 01.05.2019 и до 07.05.2019, должно выводиться "Неделя первая"
если дата от 08.05.2019 и до 14.05.2019, должно выводиться "Неделя вторая"
если дата от 15.05.2019 и до 21.05.2019, должно выводиться "Неделя третья"
если дата от 22.05.2019 и до 28.05.2019, должно выводиться "Неделя четвёртая"
если дата от 29.05.2019 и до 04.06.2019, должно выводиться "Неделя пятая"
если дата от 05.06.2019 и до 11.06.2019, должно выводиться "Неделя шестая"
если дата от 12.06.2019 и до 18.06.2019, должно выводиться "Неделя седьмая"
если дата от 19.06.2019 и до 25.06.2019, должно выводиться "Неделя восьмая"
если дата от 26.06.2019 и до 02.07.2019, должно выводиться "Неделя девятая"
если дата от 03.07.2019 и до 09.07.2019, должно выводиться "Неделя десятая"
если дата от 10.07.2019 и до 16.07.2019, должно выводиться "Неделя одиннадцатая"

Спасибо!
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
01.01.2019, 14:22
Ответы с готовыми решениями:

Отображение файла в зависимости от текущей даты
Доброго времени суток! Имеется 365 файликов, и на странице сайта нужно отображать содержание того, название которого соответствует...

Вывод текущей даты и времени
Всем привет, сразу скажу, я учусь, по этому извините если что не так спрошу: почему может не работать этот код? var now = new...

Вывод текста в зависимости от времени
Добрый вечер. Можно ли доработать это скрипт <script language="JavaScript"> var h=(new Date()).getHours(); if (h > 23...

31
 Аватар для Asiman
156 / 119 / 59
Регистрация: 27.04.2013
Сообщений: 351
09.01.2020, 01:57
Студворк — интернет-сервис помощи студентам
JavaScript
1
2
3
var date = new Date(2019, 9, 26);
if (date >= new Date(2019, 8, 29) && date <= new Date(2019, 9, 25)) alert (1);      
if (date >= new Date(2019, 9, 26) && date <= new Date(2019, 10, 30)) alert (2);
0
5 / 5 / 0
Регистрация: 25.07.2017
Сообщений: 53
09.01.2020, 12:47  [ТС]
Цитата Сообщение от Asiman Посмотреть сообщение
Цитата Сообщение от monetgen Посмотреть сообщение
Есть 11 диапазонов дат (диапазоны, в отличие от проблемы, которая решалась выше, содержат в себе разное количество дней):
если текущая дата находится в диапазоне 29.08.2019–25.09.2019, то должно выводиться "номер 1"
если текущая дата находится в диапазоне 26.09.2019–30.10.2019, то должно выводиться "номер 2"
если текущая дата находится в диапазоне 31.10.2019–27.11.2019, то должно выводиться "номер 3"
если текущая дата находится в диапазоне 28.11.2019–25.12.2019, то должно выводиться "номер 4"
если текущая дата находится в диапазоне 26.12.2019–29.01.2020, то должно выводиться "номер 5"
если текущая дата находится в диапазоне 30.01.2020–26.02.2020, то должно выводиться "номер 6"
если текущая дата находится в диапазоне 27.02.2020–01.04.2020, то должно выводиться "номер 7"
если текущая дата находится в диапазоне 02.04.2020–29.04.2020, то должно выводиться "номер 8"
если текущая дата находится в диапазоне 30.04.2020–28.05.2020, то должно выводиться "номер 9"
если текущая дата находится в диапазоне 29.05.2020–02.07.2020, то должно выводиться "номер 10"
если текущая дата находится в диапазоне 03.07.2020–25.08.2020, то должно выводиться "номер 11"

Подскажите, пожалуйста, как можно сделать вывод номера в зависимости от текущей даты.
JavaScript
1
2
3
var date = new Date(2019, 9, 26);
if (date >= new Date(2019, 8, 29) && date <= new Date(2019, 9, 25)) alert (1);
if (date >= new Date(2019, 9, 26) && date <= new Date(2019, 10, 30)) alert (2);
Asiman, спасибо за ответ.
Подскажите, пожалуйста, а как задать, чтобы выводилось именно "номер 1", или "номер 2" и т.д. в зависимости от текущего диапазона.
Спасибо!
0
Эксперт JS
6496 / 3907 / 2006
Регистрация: 14.06.2018
Сообщений: 6,781
09.01.2020, 13:29
Лучший ответ Сообщение было отмечено monetgen как решение

Решение

Цитата Сообщение от monetgen Посмотреть сообщение
Есть 11 диапазонов дат (диапазоны, в отличие от проблемы, которая решалась выше, содержат в себе разное количество дней):
если текущая дата находится в диапазоне 29.08.2019–25.09.2019, то должно выводиться "номер 1"
если текущая дата находится в диапазоне 26.09.2019–30.10.2019, то должно выводиться "номер 2"
если текущая дата находится в диапазоне 31.10.2019–27.11.2019, то должно выводиться "номер 3"
если текущая дата находится в диапазоне 28.11.2019–25.12.2019, то должно выводиться "номер 4"
если текущая дата находится в диапазоне 26.12.2019–29.01.2020, то должно выводиться "номер 5"
если текущая дата находится в диапазоне 30.01.2020–26.02.2020, то должно выводиться "номер 6"
если текущая дата находится в диапазоне 27.02.2020–01.04.2020, то должно выводиться "номер 7"
если текущая дата находится в диапазоне 02.04.2020–29.04.2020, то должно выводиться "номер 8"
если текущая дата находится в диапазоне 30.04.2020–28.05.2020, то должно выводиться "номер 9"
если текущая дата находится в диапазоне 29.05.2020–02.07.2020, то должно выводиться "номер 10"
если текущая дата находится в диапазоне 03.07.2020–25.08.2020, то должно выводиться "номер 11"
Подскажите, пожалуйста, как можно сделать вывод номера в зависимости от текущей даты.
Если диапазоны состыкованы, то так:
PHP/HTML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8" />
</head>
<body>
    <script>
        var current = new Date(2020, 1, 13); // Текущее дата-время (здесь февраль!)
        console.log(weekInfo(current));
 
        function weekInfo(date) {
            /**
             * Дата с обнуленным временем, на полночь. С учётом нового смещения времени в JS.
             * @param {Date} date Дата с возможным компонетом времени.
             */
            function getDate(date) {
                var year = date.getFullYear(),
                    month = date.getMonth(),
                    day = date.getDate();
                return new Date(year, month, day);
            }
            /**
             * Распарсить строку в формате dd.MM.yyyy (.NET) в локальную дату
             * @param {string} str Строка в формате dd.MM.yyyy
             * @return {Date} Локальная дата
             */
            function parse(str) {
                return new Date(str.slice(6), str.slice(3, 5) - 1, str.slice(0, 2));
            }
 
            var dates = [
                "29.08.2019",
                "25.09.2019",
                "30.10.2019",
                "27.11.2019",
                "25.12.2019",
                "29.01.2020",
                "26.02.2020",
                "01.04.2020",
                "29.04.2020",
                "28.05.2020",
                "02.07.2020",
                "25.08.2020"
            ].map(parse);
 
            date = getDate(date);
            if (date < dates[0] || date > dates[dates.length - 1])
                throw new RangeError("Дата вне допустимого диапазона дат.")
            for (var i = 1; i < dates.length; i++)
                if (date <= dates[i])
                    return "номер " + i;
        }
    </script>
</body>
</html>
1
5 / 5 / 0
Регистрация: 25.07.2017
Сообщений: 53
09.01.2020, 14:52  [ТС]
Цитата Сообщение от amr-now Посмотреть сообщение
Если диапазоны состыкованы, то так:
PHP/HTML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8" />
</head>
<body>
    <script>
        var current = new Date(2020, 1, 13); // Текущее дата-время (здесь февраль!)
        console.log(weekInfo(current));
 
        function weekInfo(date) {
            /**
             * Дата с обнуленным временем, на полночь. С учётом нового смещения времени в JS.
             * @param {Date} date Дата с возможным компонетом времени.
             */
            function getDate(date) {
                var year = date.getFullYear(),
                    month = date.getMonth(),
                    day = date.getDate();
                return new Date(year, month, day);
            }
            /**
             * Распарсить строку в формате dd.MM.yyyy (.NET) в локальную дату
             * @param {string} str Строка в формате dd.MM.yyyy
             * @return {Date} Локальная дата
             */
            function parse(str) {
                return new Date(str.slice(6), str.slice(3, 5) - 1, str.slice(0, 2));
            }
 
            var dates = [
                "29.08.2019",
                "25.09.2019",
                "30.10.2019",
                "27.11.2019",
                "25.12.2019",
                "29.01.2020",
                "26.02.2020",
                "01.04.2020",
                "29.04.2020",
                "28.05.2020",
                "02.07.2020",
                "25.08.2020"
            ].map(parse);
 
            date = getDate(date);
            if (date < dates[0] || date > dates[dates.length - 1])
                throw new RangeError("Дата вне допустимого диапазона дат.")
            for (var i = 1; i < dates.length; i++)
                if (date <= dates[i])
                    return "номер " + i;
        }
    </script>
</body>
</html>
amr-now, да, диапазоны состыкованы.
Спасибо, но почему-то при вставке данного кода ничего не выводится.
Также я пробовал поменять дату, вместо
JavaScript
1
var current = new Date(2020, 1, 13);
писал
JavaScript
1
var current = new Date(2019, 11, 13);
Также писал
JavaScript
1
var current = new Date(); // Как понимаю, в этом случае должна браться текущая дата
Но никакой текст не выводится. Подскажите, пожалуйста, в чём может быть загвоздка?
Спасибо
0
Эксперт JS
6496 / 3907 / 2006
Регистрация: 14.06.2018
Сообщений: 6,781
09.01.2020, 14:58
monetgen, в консоль выводится:
JavaScript
1
console.log(weekInfo(current));
В MS Edge и IE11 инструменты разработчика выводятся по кнопке F12.
В инструментах разработчика будет вкладка "Консоль".
1
5 / 5 / 0
Регистрация: 25.07.2017
Сообщений: 53
09.01.2020, 15:20  [ТС]
Цитата Сообщение от amr-now Посмотреть сообщение
monetgen, в консоль выводится:
JavaScript
1
console.log(weekInfo(current));
В MS Edge и IE11 инструменты разработчика выводятся по кнопке F12.
В инструментах разработчика будет вкладка "Консоль".
amr-now, спасибо за ответ!
Я посмотрел, вижу - в консоль номер выводится. А как сделать так, чтобы выводилось не в консоль, а прямо на веб-страницу, подскажите, пожалуйста?
Спасибо!
0
Эксперт JS
6496 / 3907 / 2006
Регистрация: 14.06.2018
Сообщений: 6,781
09.01.2020, 15:24
Цитата Сообщение от monetgen Посмотреть сообщение
А как сделать так, чтобы выводилось не в консоль, а прямо на веб-страницу
после тэга <body> перед <script> добавьте
HTML5
1
<div id="element"></div>
А вместо
JavaScript
1
console.log(weekInfo(current));
напишите
JavaScript
1
document.getElementById("element").textContent = weekInfo(current);
1
5 / 5 / 0
Регистрация: 25.07.2017
Сообщений: 53
09.01.2020, 16:26  [ТС]
Цитата Сообщение от amr-now Посмотреть сообщение
после тэга <body> перед <script> добавьте
HTML5
1
<div id="element"></div>
А вместо
JavaScript
1
console.log(weekInfo(current));
напишите
JavaScript
1
document.getElementById("element").textContent = weekInfo(current);
amr-now, спасибо, получилось!
Весь текущий код с корректировками положил под спойлер.
Кликните здесь для просмотра всего текста
HTML5
1
<div id="element"></div>
JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
        var current = new Date(2020, 1, 13); // Текущее дата-время (здесь февраль!)
        document.getElementById("element").textContent = weekInfo(current);
 
        function weekInfo(date) {
            /**
             * Дата с обнуленным временем, на полночь. С учётом нового смещения времени в JS.
             * @param {Date} date Дата с возможным компонетом времени.
             */
            function getDate(date) {
                var year = date.getFullYear(),
                    month = date.getMonth(),
                    day = date.getDate();
                return new Date(year, month, day);
            }
            /**
             * Распарсить строку в формате dd.MM.yyyy (.NET) в локальную дату
             * @param {string} str Строка в формате dd.MM.yyyy
             * @return {Date} Локальная дата
             */
            function parse(str) {
                return new Date(str.slice(6), str.slice(3, 5) - 1, str.slice(0, 2));
            }
 
            var dates = [
                "29.08.2019",
                "25.09.2019",
                "30.10.2019",
                "27.11.2019",
                "25.12.2019",
                "29.01.2020",
                "26.02.2020",
                "01.04.2020",
                "29.04.2020",
                "28.05.2020",
                "02.07.2020",
                "25.08.2020"
            ].map(parse);
 
            date = getDate(date);
            if (date < dates[0] || date > dates[dates.length - 1])
                throw new RangeError("Дата вне допустимого диапазона дат.")
            for (var i = 1; i < dates.length; i++)
                if (date <= dates[i])
                    return "номер " + i;
        }


amr-now, Вы не могли бы подсказать по поводу ещё одного случая?
Диапазоны дат также состыкованы. Но нужно, чтобы выводилось не "Номер 1", "Номер 2", ..., "Номер n", а слова без цифр - "Первое совещание", "Второе заседание" и т.д.:
  • если текущая дата в диапазоне 01.07.2019–28.08.2019, то должно выводиться "Первое совещание"
  • если текущая дата в диапазоне 29.08.2019–25.09.2019, то должно выводиться "Второе заседание"
  • если текущая дата в диапазоне 26.09.2019–30.10.2019, то должно выводиться "Третье собрание"
  • если текущая дата в диапазоне 31.10.2019–27.11.2019, то должно выводиться "Четвёртый совет"
  • если текущая дата в диапазоне 28.11.2019–25.12.2019, то должно выводиться "Пятое совещание"
  • если текущая дата в диапазоне 26.12.2019–29.01.2020, то должно выводиться "Шестое заседание"
  • если текущая дата в диапазоне 30.01.2020–26.02.2020, то должно выводиться "Седьмое собрание"
  • если текущая дата в диапазоне 27.02.2020–01.04.2020, то должно выводиться "Восьмой совет"
  • если текущая дата в диапазоне 02.04.2020–29.04.2020, то должно выводиться "Девятое совещание"
  • если текущая дата в диапазоне 30.04.2020–28.05.2020, то должно выводиться "Десятое заседание"
  • если текущая дата в диапазоне 29.05.2020–02.07.2020, то должно выводиться "Одиннадцатое собрание"
Спасибо!
0
Эксперт JS
6496 / 3907 / 2006
Регистрация: 14.06.2018
Сообщений: 6,781
09.01.2020, 16:53
Лучший ответ Сообщение было отмечено monetgen как решение

Решение

Цитата Сообщение от monetgen Посмотреть сообщение
Диапазоны дат также состыкованы. Но нужно, чтобы выводилось не "Номер 1", "Номер 2", ..., "Номер n", а слова без цифр - "Первое совещание", "Второе заседание" и т.д.:
если текущая дата в диапазоне 01.07.2019–28.08.2019, то должно выводиться "Первое совещание"
если текущая дата в диапазоне 29.08.2019–25.09.2019, то должно выводиться "Второе заседание"
если текущая дата в диапазоне 26.09.2019–30.10.2019, то должно выводиться "Третье собрание"
если текущая дата в диапазоне 31.10.2019–27.11.2019, то должно выводиться "Четвёртый совет"
если текущая дата в диапазоне 28.11.2019–25.12.2019, то должно выводиться "Пятое совещание"
если текущая дата в диапазоне 26.12.2019–29.01.2020, то должно выводиться "Шестое заседание"
если текущая дата в диапазоне 30.01.2020–26.02.2020, то должно выводиться "Седьмое собрание"
если текущая дата в диапазоне 27.02.2020–01.04.2020, то должно выводиться "Восьмой совет"
если текущая дата в диапазоне 02.04.2020–29.04.2020, то должно выводиться "Девятое совещание"
если текущая дата в диапазоне 30.04.2020–28.05.2020, то должно выводиться "Десятое заседание"
если текущая дата в диапазоне 29.05.2020–02.07.2020, то должно выводиться "Одиннадцатое собрание"
PHP/HTML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8" />
</head>
<body>
    <div id="element"></div>
    <script>
        var current = new Date(2020, 1, 13); // Текущее дата-время (здесь февраль!)
        document.getElementById("element").textContent = weekInfo(current);
 
        function weekInfo(date) {
            /**
             * Дата с обнуленным временем, на полночь. С учётом нового смещения времени в JS.
             * @param {Date} date Дата с возможным компонетом времени.
             */
            function getDate(date) {
                var year = date.getFullYear(),
                    month = date.getMonth(),
                    day = date.getDate();
                return new Date(year, month, day);
            }
            /**
             * Распарсить строку в формате dd.MM.yyyy (.NET) в локальную дату
             * @param {string} str Строка в формате dd.MM.yyyy
             * @return {Date} Локальная дата
             */
            function parse(str) {
                return new Date(str.slice(6), str.slice(3, 5) - 1, str.slice(0, 2));
            }
 
            var dates = [
                ["01.07.2019"],
                ["28.08.2019", "Первое совещание"],
                ["25.09.2019", "Второе заседание"],
                ["30.10.2019", "Третье собрание"],
                ["27.11.2019", "Четвёртый совет"],
                ["25.12.2019", "Пятое совещание"],
                ["29.01.2020", "Шестое заседание"],
                ["26.02.2020", "Седьмое собрание"],
                ["01.04.2020", "Восьмой совет"],
                ["29.04.2020", "Девятое совещание"],
                ["28.05.2020", "Десятое заседание"],
                ["02.07.2020", "Одиннадцатое собрание"]
            ].map(function (e) { e[0] = parse(e[0]); return e; });
 
            date = getDate(date);
            if (date < dates[0][0] || date > dates[dates.length - 1][0])
                throw new RangeError("Дата вне допустимого диапазона дат.")
            for (var i = 1; i < dates.length; i++)
                if (date <= dates[i][0])
                    return dates[i][1];
        }
    </script>
</body>
</html>
1
5 / 5 / 0
Регистрация: 25.07.2017
Сообщений: 53
09.01.2020, 17:55  [ТС]
amr-now, большое спасибо, всё работает!
Извините, пожалуйста, что задаю так много вопросов, но можно ещё один?
Как можно реализовать, чтобы в зависимости от текущей даты выводилась картинка, расположенная на сайте по определённому пути?
  • если текущая дата в диапазоне 01.07.2019–28.08.2019, то должен выводиться рисунок "images/trj/sovi.jpg"
  • если текущая дата в диапазоне 29.08.2019–25.09.2019, то должен выводиться рисунок "images/trj/zasii.jpg"
  • если текущая дата в диапазоне 26.09.2019–30.10.2019, то должен выводиться рисунок "images/trj/sobiii.jpg"
  • если текущая дата в диапазоне 31.10.2019–27.11.2019, то должен выводиться рисунок "images/trj/sovtiv.jpg"
  • если текущая дата в диапазоне 28.11.2019–25.12.2019, то должен выводиться рисунок "images/trj/soviv.jpg"
  • если текущая дата в диапазоне 26.12.2019–29.01.2020, то должен выводиться рисунок "images/trj/zasvi.jpg"
  • если текущая дата в диапазоне 30.01.2020–26.02.2020, то должен выводиться рисунок "images/trj/sobvii.jpg"
  • если текущая дата в диапазоне 27.02.2020–01.04.2020, то должен выводиться рисунок "images/trj/sovtviii.jpg"
  • если текущая дата в диапазоне 02.04.2020–29.04.2020, то должен выводиться рисунок "images/trj/sovixix.jpg"
  • если текущая дата в диапазоне 30.04.2020–28.05.2020, то должен выводиться рисунок "images/trj/zasx.jpg"
  • если текущая дата в диапазоне 29.05.2020–02.07.2020, то должен выводиться рисунок "images/trj/sobxi.jpg"
  • если текущая дата в диапазоне 03.07.2020–25.08.2020, то должен выводиться рисунок "images/trj/sovtxii.jpg"
Спасибо!
0
Эксперт JS
6496 / 3907 / 2006
Регистрация: 14.06.2018
Сообщений: 6,781
09.01.2020, 18:31
Цитата Сообщение от monetgen Посмотреть сообщение
Как можно реализовать, чтобы в зависимости от текущей даты выводилась картинка, расположенная на сайте по определённому пути?
если текущая дата в диапазоне 01.07.2019–28.08.2019, то должен выводиться рисунок "https://www.cyberforum.ru/images/trj/sovi.jpg"
если текущая дата в диапазоне 29.08.2019–25.09.2019, то должен выводиться рисунок "https://www.cyberforum.ru/images/trj/zasii.jpg"
если текущая дата в диапазоне 26.09.2019–30.10.2019, то должен выводиться рисунок "https://www.cyberforum.ru/images/trj/sobiii.jpg"
если текущая дата в диапазоне 31.10.2019–27.11.2019, то должен выводиться рисунок "https://www.cyberforum.ru/images/trj/sovtiv.jpg"
если текущая дата в диапазоне 28.11.2019–25.12.2019, то должен выводиться рисунок "https://www.cyberforum.ru/images/trj/soviv.jpg"
если текущая дата в диапазоне 26.12.2019–29.01.2020, то должен выводиться рисунок "https://www.cyberforum.ru/images/trj/zasvi.jpg"
если текущая дата в диапазоне 30.01.2020–26.02.2020, то должен выводиться рисунок "https://www.cyberforum.ru/images/trj/sobvii.jpg"
если текущая дата в диапазоне 27.02.2020–01.04.2020, то должен выводиться рисунок "https://www.cyberforum.ru/images/trj/sovtviii.jpg"
если текущая дата в диапазоне 02.04.2020–29.04.2020, то должен выводиться рисунок "https://www.cyberforum.ru/images/trj/sovixix.jpg"
если текущая дата в диапазоне 30.04.2020–28.05.2020, то должен выводиться рисунок "https://www.cyberforum.ru/images/trj/zasx.jpg"
если текущая дата в диапазоне 29.05.2020–02.07.2020, то должен выводиться рисунок "https://www.cyberforum.ru/images/trj/sobxi.jpg"
если текущая дата в диапазоне 03.07.2020–25.08.2020, то должен выводиться рисунок "https://www.cyberforum.ru/images/trj/sovtxii.jpg"
PHP/HTML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8" />
</head>
<body>
    <img id="element"/>
    <script>
        var current = new Date(2020, 1, 13); // Текущее дата-время (здесь февраль!)
        document.getElementById("element").src = weekInfo(current);
 
        function weekInfo(date) {
            /**
             * Дата с обнуленным временем, на полночь. С учётом нового смещения времени в JS.
             * @param {Date} date Дата с возможным компонетом времени.
             */
            function getDate(date) {
                var year = date.getFullYear(),
                    month = date.getMonth(),
                    day = date.getDate();
                return new Date(year, month, day);
            }
            /**
             * Распарсить строку в формате dd.MM.yyyy (.NET) в локальную дату
             * @param {string} str Строка в формате dd.MM.yyyy
             * @return {Date} Локальная дата
             */
            function parse(str) {
                return new Date(str.slice(6), str.slice(3, 5) - 1, str.slice(0, 2));
            }
 
            var dates = [
                ["01.07.2019"],
                ["28.08.2019", "images/trj/sovi.jpg"],
                ["25.09.2019", "images/trj/zasii.jpg"],
                ["30.10.2019", "images/trj/sobiii.jpg"],
                ["27.11.2019", "images/trj/sovtiv.jpg"],
                ["25.12.2019", "images/trj/soviv.jpg"],
                ["29.01.2020", "images/trj/zasvi.jpg"],
                ["26.02.2020", "images/trj/sobvii.jpg"],
                ["01.04.2020", "images/trj/sovtviii.jpg"],
                ["29.04.2020", "images/trj/sovixix.jpg"],
                ["28.05.2020", "images/trj/zasx.jpg"],
                ["02.07.2020", "images/trj/sobxi.jpg"],
                ["25.08.2020", "images/trj/sovtxii.jpg"]
            ];
            dates.forEach(function (e) { e[0] = parse(e[0]); }); // Чтобы не создавать новый массив
 
            date = getDate(date);
            if (date < dates[0][0] || date > dates[dates.length - 1][0])
                throw new RangeError("Дата вне допустимого диапазона дат.")
            for (var i = 1; i < dates.length; i++)
                if (date <= dates[i][0])
                    return dates[i][1];
        }
    </script>
</body>
</html>
1
5 / 5 / 0
Регистрация: 25.07.2017
Сообщений: 53
09.01.2020, 21:41  [ТС]
amr-now, спасибо большое, всё работает!
Хотел поставить ещё одну отметку "Лучший ответ", но почему-то не получается (может быть, нельзя ставить более трёх отметок в одной теме - не знаю).
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
09.01.2020, 21:41
Помогаю со студенческими работами здесь

Автозаполнение текущей даты
Доброе время суток Помогите разобраться почему не присваеваеться по умолчанию текущия дата. отдельный обьект. const TimeSheetListEdit...

вывод текста исходя из текущей даты
Добрый день! Создал простенькую БД, состоящую из двух колонок: &quot;Дата&quot; и &quot;Событие&quot;: Дата Событие 01.10.2016 Текст 1 ...

Изменение пути в ярлыке в зависимости от текущей даты
Добрий день! Помогите создать BAT для изменения пути в ярлике. Сейчас ярлик настроен на N:\In\03042015. нужно чтоби BAT менял дату...

Ошибки в формулах в зависимости от текущей даты компьютера
Доброго дня проблема такая есть Excel документ с формулами, если его запускаешь и на компьютере стоит дата сегодняшняя то в ячейке с...

Добавление значений в ячейки в зависимости от текущей даты
Добрый день Уважаемые Форумчане! Пришло время простить о помощи. Необходимо в таблице при добавлении количества товара это число должно...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
32
Ответ Создать тему
Новые блоги и статьи
Первый деплой
lagorue 16.01.2026
Не спеша развернул своё 1ое приложение в kubernetes. А дальше мне интересно создать 1фронтэнд приложения и 2 бэкэнд приложения развернуть 2 деплоя в кубере получится 2 сервиса и что-бы они. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь постоянного тока с R, L, C, k(ключ), U, E, J. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа, решает её и находит токи на L и напряжения на C в установ. режимах до и. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Изучаю kubernetes
lagorue 13.01.2026
А пригодятся-ли мне знания kubernetes в России?
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru