Как из номера месяца получить дату
Кто-нибудь сталкивался с такой задачей:
есть число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 условие
Таблицы для примеров
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 элементов. Обойдите этот массив при помощи цикла по коллекциям «Для каждого»