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

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

01.01.2019, 14:22. Показов 9500. Ответов 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
6497 / 3908 / 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
6497 / 3908 / 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
6497 / 3908 / 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
6497 / 3908 / 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
6497 / 3908 / 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
Ответ Создать тему
Новые блоги и статьи
Валидация и контроль данных табличной части документа перед записью
Maks 22.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в КА2. Задача: контроль и валидация данных табличной части документа перед записью с учетом регламента компании. . .
Отчёт о затраченных материалах за определенный период с макетом печатной формы
Maks 21.04.2026
Отчёт из решения ниже размещён в конфигурации КА2. Задача: разработка отчёта по затраченным материалам за определённый период, с возможностью вывода печатной формы отчёта с шапкой и подвалом. В. . .
Отчёт о спецтехнике находящейся в ремонте
Maks 20.04.2026
Отчёт из решения ниже размещен в конфигурации КА2. Задача: отобразить спецтехнику, которая на данный момент находится в ремонте. Есть нетиповой документ "Заявка на ремонт спецтехники" который. . .
Памятка для бота и "визитка" для читателей "Semantic Universe Layer (Слой семантической вселенной)"
Hrethgir 19.04.2026
Сгенерировано для краткого описания по случаю сборки и компиляции скелета серверного приложения. И пусть после этого скажут, что статьи сгенерированные AI - туфта и не интересно. И это не реклама -. . .
Запрет удаления строк ТЧ документа при определённом условии
Maks 19.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "Аккумуляторы", разработанного в конфигурации КА2. У данного документа есть ТЧ, в которой в зависимости от прав доступа. . .
Модель заражения группы наркоманов
alhaos 17.04.2026
Условия задачи сформулированы тут Суть: - Группа наркоманов из 10 человек. - Только один инфицирован ВИЧ. - Колются одной иглой. - Колются раз в день. - Колются последовательно через. . .
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru