Как из номера месяца получить дату
Перейти к содержимому

Как из номера месяца получить дату

  • автор:

Как из номера месяца получить дату

Кто-нибудь сталкивался с такой задачей:
есть число1 — номер дня месяца
число2 — номер месяца
текущий год
Необходимо получить дату с таким числом и номером месяца и текущим годом.
Например, есть 1, 11, 2008. Нужно получить 1 ноября 2008года.
Что-то копаюсь в синтакс-помощнике и никак не найду ничего подходящего

«Дата» в индексе СП набери.
Какая конфа?

Если egg можно в расчете себестоимости посмотреть как там формируется представление месяца и года а дату можно прикрутить

(3) Омистинеть.
(2) БП 8.0 для Беларуси
Мне нужно получить дату для сравнения с другой датой. Впринципе, само представление роли не играет.
(2) вааще не важно.
(4)+1

Дата(«2008» + ?(СтрДлина(Строка(ЧислоМесяц)) = 1, «0» + ЧислоМесяц, ЧислоМесяц) + ?(СтрДлина(Строка(ЧислоДень)) = 1, «0» + ЧислоДень, ЧислоДень);

(6) это прикол или на самом деле спрашиваешь?
Дата(СТРОКА(ГОД(ТекущаяДата()))+Месяц + День);
Тока Месяц и день привести к двум цифрам.

(9) опередил. Интересно, а разобраться самому в попросе стало уже не модно? Форум форева? Вот после этого и называют не программистами а конфигурастами.

(9) (11) тоже приколисты.

Дата(ЧислоГод, ЧислоМесяц, ЧислоДень);

(10) :)) не прикол. И в 7.7 и в 8.0 у меня всегда были проблемы с датами. Ну не дано мне.

(9) (11) эээ. а что, проще нельзя?

выдержка из СП:
<. >
Вариант синтаксиса: По составляющим
Описание:
Преобразует полученный параметр (параметры) в значение типа Дата.
Допускаются следующие формы задания параметров:
Дата(Год, Месяц, День);
Дата(Год, Месяц, День, Час, Минута, Секунда);
Синтаксис:
Дата(, , , , , )

Функция MONTH

Функция MONTH извлекает номер месяца из даты. Дата может быть в формате date или datetime.

Синтаксис

SELECT MONTH(дата) FROM имя_таблицы WHERE условие

Таблицы для примеров

таблица users

id
айди
name
имя
date
дата рождения
1 user1 1988-03-01
2 user2 1989-04-02
3 user3 1990-05-03

Пример

В данном примере при выборке из таблицы из даты извлекается номер месяца:

SELECT *, MONTH(date) as month FROM users

Результат выполнения кода:

id
айди
name
имя
date
дата
month
месяц
1 user1 1988-03-01 3
2 user2 1989-04-02 4
3 user3 1990-05-03 5

Смотрите также

  • функцию MONTHNAME ,
    которая возвращает название месяца по-английски
  • функцию DAY ,
    которая извлекает день из даты
  • функцию YEAR ,
    которая извлекает год из даты
  • функцию DATE ,
    которая извлекает дату из даты-времени

МЕСЯЦ (функция МЕСЯЦ)

В этой статье описаны синтаксис формулы и использование функции МЕСЯЦ в Microsoft Excel.

Описание

Возвращает месяц для даты, заданной в числовом формате. Месяц возвращается как целое число в диапазоне от 1 (январь) до 12 (декабрь).

Синтаксис

Аргументы функции МЕСЯЦ описаны ниже.

  • Дата_в_числовом_формате Обязательный аргумент. Дата месяца, который необходимо найти. Дата должна быть введена с использованием функции ДАТА либо как результат других формул или функций. Например, для указания даты 23 мая 2008 года следует воспользоваться выражением ДАТА(2008;5;23). Если даты вводятся как текст, это может привести к возникновению проблем.

Замечания

В приложении Microsoft Excel даты хранятся в виде последовательных чисел, что позволяет использовать их в вычислениях. По умолчанию дате 1 января 1900 года соответствует номер 1, а 1 января 2008 года — 39448, так как интервал между этими датами составляет 39 448 дней.

Значения, возвращаемые функциями ГОД, МЕСЯЦ и ДЕНЬ, соответствуют григорианскому календарю независимо от формата отображения для указанного значения даты. Например, если для формата отображения заданной даты используется календарь Хиджра, то значения, возвращаемые функциями ГОД, МЕСЯЦ и ДЕНЬ, будут представлять эквивалентную дату по григорианскому календарю.

Пример

Скопируйте образец данных из следующей таблицы и вставьте их в ячейку A1 нового листа Excel. Чтобы отобразить результаты формул, выделите их и нажмите клавишу F2, а затем — клавишу Enter. При необходимости измените ширину столбцов, чтобы видеть все данные.

Как получить название месяца по номеру ? 🙂

А есть ли методы или объекты выбора только месяца в виде как на прикрепленном файле (выбор месяца как в Вин7 в календаре)? Просто встал вопрос о выборе месяца в текущем году,а список значения на мой взгляд не нагляден.

Прикрепленные файлы:
По теме из базы знаний

  • Методология i3 как основа новой экономики. Индустрия 5.0
  • Глава 2. Как я написал (собрал с инфостарта) свой парсер сайта 1С Releases
  • Как читать чужой код? Часть 3. Разбор и доработка запросов
  • SynchroSber — полноценный модуль API интеграции с маркетплейсом Мегамаркет (СберМегаМаркет) для 1С УТ 11.X, КА 2.X, ERP 2.X, УНФ 1.6, 3.0 (возможность работы как с публикацией, так и без публикации базы)
  • История одного админа в мире 1С. Как поиски причины тормозов 1С привели к созданию нового продукта
  • Дата
  • Дата
  • Рейтинг всех уровней
  • Рейтинг 1-го уровня
  • Древо развёрнутое
  • Древо свернутое

Свернуть все
5. luns 27.03.12 13:03 Сейчас в теме
(4) Вот посмотри: http://infostart.ru/public/74025/
10. fromtomike 48 05.09.16 13:16 Сейчас в теме

(4) tindir, А чем стандартный диалог «ДиалогРедактированияСтандартногоПериода» не устраивает (я про УФ) ?
Вроде красиво, выделение мышкой работает, вариант редактирования настраивается

Прикрепленные файлы:
11. axelerleo 339 05.09.16 14:37 Сейчас в теме

(10) fromtomike,
Например, если нужно выбрать просто месяц, например «январь», и сформировать отчет за все январи, неважно какого года.
Такие задачи встречаются в основном при сравнении чего-нибудь (продаж, закупок, дебиторки и т.п.) по периодам.

6. Rishat7 2 21.12.12 11:52 Сейчас в теме
НаименованиеМесяца = Формат(НовДата, «ДФ=MMMM»);
MazhutkoAV; Ali_q; Nikola_N; AndrewKop; user1003854; Slashsm; + 6 – Ответить
7. Dunda 48 30.10.14 07:15 Сейчас в теме

я обычно вывожу дату какая она есть а потом пишу

//ДатаМ-это моя дата, которую надо сформатировать

8. axelerleo 339 12.11.14 17:07 Сейчас в теме

Для СчМ = 1 по 12 Цикл М = Формат(Дата("0002" + Формат(счМ,"ЧЦ=2; ЧВН=") + "01"),"ДФ=ММММ"); КонецЦикла

Дата начинается с 0002, т.к. для января с 0001 будет пустая дата. Можно любой другой год указывать. Я это по-быстрому накидал, когда нужно было в контекстное меню добавить названия месяцев без привязки к дате.

user591389_aska_rabota; Alever; + 2 – Ответить
9. Alever 4 05.09.16 11:33 Сейчас в теме

Немного переделал твой код.. получилось получаю все месяцы исходя ихз текущего года. Используя текущую дату в качестве строки для обработки формата.

Для н =1 по 12 Цикл ТекущийГод = СтрЗаменить(Строка(Год(ТекущаяДата())), " ", ""); Если СтрДлина(н)=1 Тогда ПорядковыйМесяц = "0"+н; Иначе ПорядковыйМесяц = н; КонецЕсли; Если СтрДлина(День(ТекущаяДата())) = 1 Тогда ТекущийДень = "0"+День(ТекущаяДата()); Иначе ТекущийДень = День(ТекущаяДата()); КонецЕсли; Данные = Формат(Дата(ТекущийГод + ПорядковыйМесяц + ТекущийДень),"ДФ=ММММ") + " " + ТекущийГод; ЭлементыФормы.Месяц.СписокВыбора.Добавить(Данные); КонецЦикла;

13. antz 12.01.17 11:06 Сейчас в теме

(9) Зачем такие мучения?

Для н = 1 по 12 Цикл Данные = Формат(Дата(Год(ТекущаяДата()), н, 1), "ДФ='ММММ гггг'"); Элементы.Месяц.СписокВыбора.Добавить(Данные); КонецЦикла;

YellowCube; 1cUserAndrew; Plotks2017; + 3 – Ответить
18. GetNight 46 03.09.18 09:42 Сейчас в теме

(13) Зачем такие мучения?

Для н = 1 по 12 Цикл Данные = Формат(Дата(2, н, 1), "ДФ=ММММ"); //ведь и так формируете один год с 1 по 12 месяц. Элементы.Месяц.СписокВыбора.Добавить(Данные); КонецЦикла;

JrChuck; akocur; 1cUserAndrew; Plotks2017; + 4 – Ответить
12. SLukin 43 12.01.17 10:53 Сейчас в теме

/// Как инициализировать дату отдельными компонентами в 1с 8.3, 8.2

Дата = Дата(2013, 07, 24); // 24.07.2013

К примеру зная отдельно: Год, Месяц и День

ТекущийГод = Год(ТекущаяДата()); ТекущийМесяц = Месяц(ТекущаяДата()); ТекущийДень = День(ТекущаяДата()); Дата = Дата(ТекущийГод, ТекущийМесяц, ТекущийДень);

14. v3rter 12.01.17 11:45 Сейчас в теме

СокрП(Сред(" январь февраль март апрель май июнь июль август сентябрьоктябрь ноябрь декабрь ",Месяц*8+1,8))

1Cynep4eJIoBek; bonya_by; kuzev; + 3 – Ответить
15. usparts@inbox.ru 14.05.09 14:53 Сейчас в теме

Задачка простенькая.. но просто интересно
Чтобы не писать:
Если НомерМесяца = 1 Тогда Возврат «Январь»;
Иначе Если НомерМесяца = 2 Тогда Возврат «февраль»;
.
КонецЕсли;

Можно как-то тоже самое получить системно ?

ЗЫ
Через Формат(Дата, » «) сделать не получается. Мне надо чтобы месяц был в именительном падеже 🙂

Подскажите можно как-то это сделать пользуясь системными функциями ? 🙂

16. elerian 8 14.05.09 15:05 Сейчас в теме
Можно!
Как раз через Формат(Дата,» ДФ=ММММ «);
have fun
user1114234; admin; PSKMOL; AnryMc; + 4 – Ответить
17. usparts@inbox.ru 14.05.09 17:02 Сейчас в теме
Хе ) Спасибо
19. Cooler 22 03.09.18 09:55 Сейчас в теме
Оперативненько.
20. GetNight 46 03.09.18 11:31 Сейчас в теме
(19)
Сегодня наткнулся, сразу и написал =) Кто-то ещё наткнется, ему будет проще. чуть-чуть)
21. Гость 14.03.21 17:02

как написать команды?
2. Добавьте кнопку «Вывести названия месяцев года»: применив оператор цикла по счетчику «Для» выведите сообщения, каждое из которого содержит месяц года.
Подсказка: 12 обходов цикла. Внутри цикла используйте оператор условия «Если»
Дополнительно: получите тот же результат применив оператор Цикла по условия «Пока»
3. Кнопка «Вывести времена года»: создайте массив Времена Года из 4 элементов. Обойдите этот массив при помощи цикла по коллекциям «Для каждого»

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *