Разница между датами в минутах

Правила  Форумы

Название форума Темы Сообщения Обновление
Вопросы по Microsoft Excel Здесь можно получить ответы на вопросы по Microsoft Excel 83340 663389 19.06.2021 15:11:47
Вопросы по Microsoft Excel (архив) Ветка со старого форума 44519 358023 29.01.2017 17:28:40
Копилка идей Лучшие избранные темы с основного форума 13 79 28.06.2018 15:25:11
Вопросы по Excel для Mac Если вы — счастливый обладатель Mac 😉 278 1310 08.06.2021 16:59:50
Работа Раздел для размещения платных вопросов, проектов и задач и поиска исполнителей для них. 3313 19695 19.06.2021 13:15:43
Вопросы по надстройке PLEX Если Вы скачали или приобрели надстройку PLEX для Microsoft Excel и у Вас есть вопросы или пожелания — Вам сюда. 418 2122 19.06.2021 14:56:09
Курилка Оффтопьте на здоровье 1271 19201 18.06.2021 10:04:10
Вопросы по работе форума Обсуждение функционала, правил и т.д. 339 4449 12.06.2021 18:52:01

Всего тем: 133491 Всего сообщений: 1068267 есть новые сообщения нет новых сообщений 12.01.2020

Рассмотрим разные способы добавления различных периодов дат в 1С 8.3 — от месяца, до секунды.

Простой и «топорный» метод

НашаДата = '2020.01.12'; // Прибавляем месяц с расчетом секнду  ДеньВСекундах = 60*60*24;   КоличествоДнейЯнварь = 31;  СледующийМесяц = НашаДата + ДеньВСекундах * КоличествоДнейЯнварь;   Сообщить(СледующийМесяц); // '2020.02.12' 
//Добавляем к дате день  СледующийДень = НашаДата + 24*60*60 ;  Сообщить(СледующийДень); // '2020.01.13'

Метод хорошо отрабатывает при добавлении дня. Что касается месяца, в таком способе нам придётся контролировать количество дней в прибавляемом месяце, учитывая количество дней в следующем, ещё високосный год. Получается совсем сложно и громоздко.

Таким образом для операций с месяцами во встроенном языке 1С, как стандарт, существует две функции это ДобавитьМесяц() и в языке запросов ДОБАВИТЬКДАТЕ(). Рассмотрим подробно работу с каждой из них.

Функция ДобавитьМесяц()

Синтаксис:

ДобавитьМесяц(<Дата>, <ЧислоМесяцев>)

Наша команда предоставляет услуги по консультированию, настройке и внедрению 1С. Связаться с нами можно по телефону +7 499 350 29 00. Услуги и цены можно увидеть по ссылке. Будем рады помочь Вам!

Где параметр <Дата> это «наша дата», <ЧислоМесяцев> количество добавляемых месяцев (цифра).

Если следует отнимать месяцы, то количество месяцев необходимо указывать со знаком минус.

Пример:

НашаДата = '2020.03.31';  СледующийМесяц = ДобавитьМесяц(НашаДата, 1); 

Результат:

image

Функция ДОБАВИТЬКДАТЕ() — в запросах 1С

Синтаксис:

ДОБАВИТЬКДАТЕ(<Дата>, <Тип>, <Количество>)

Где параметры <Дата> это «наша дата», <Тип> это единица измерения временного интервала (ГОД, ПОЛУГОДИЕ, КВАРТАЛ, МЕСЯЦ, НЕДЕЛЯ, ДЕКАДА, ДЕНЬ, ЧАС, МИНУТА, СЕКУНДА), а в параметре <Количество> указывается число прибавляемых временных интервалов.

Если необходимо отнять временной интервал параметр <Количество> необходимо задавать со знаком минус.

Пример:

&НаКлиенте Процедура ПрибавитьМесяц(Команда)  ПрибавитьМесяцНаСервере(); КонецПроцедуры &НаСервере Процедура ПрибавитьМесяцНаСервере()    Запрос = Новый Запрос;  Запрос.Текст = "ВЫБРАТЬ |          ДОБАВИТЬКДАТЕ(ДАТАВРЕМЯ(2020, 3, 30), МЕСЯЦ, 1) КАК СледующийМесяц";  РезультатЗапроса = Запрос.Выполнить();  ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать(); Пока ВыборкаДетальныеЗаписи.Следующий() Цикл  Дата = ВыборкаДетальныеЗаписи.СледующийМесяц; КонецЦикла;    Сообщить(Дата);   КонецПроцедуры 

Результат:

image

Примечание — возможны ошибки

Если стоит задача отнять или прибавить к дате несколько месяцев. Используя данные функции, не стоит отнимать или прибавлять месяца последовательно, так как это приведёт к неверному результату.  Допустим необходимо к дате 31 января 2020г. прибавить 2 месяца.

Неправильно:

НашаДата = '2020.01.31'; Пока Месяц(НашаДата) <</span> 3 Цикл  НашаДата = ДобавитьМесяц(НашаДата, 1); КонецЦикла;  Сообщить(НашаДата); 

Результат:

Правильно:

НашаДата = '2020.01.31';  СледующийМесяц = ДобавитьМесяц(НашаДата, 2);  Сообщить(СледующийМесяц); 

Результат:

В 1С 8 нет специальной встроенной функции для программного добавления дней к переменной типа Дата. Но есть несколько способов, которые помогут в 1с прибавить к дате день.

Программно в 1с прибавить к дате день. Способ 1

К дате можно прибавлять (и убавлять) секунды, при помощи оператора +.

В одном дне: 24*60*60 = 86400 секунд.  

Таким образом для добавления дня к дате к ней необходимо прибавить 86400.

Пример. Пусть в переменной МояДата содержится искомая дата.

ДатаПлюсДень = МояДата + 86400;  

В 1с добавить день к дате. Способ 2

Если вам необходимо получить начало следующего дня от заданной даты, то можно воспользоваться встроенной функцией КонецДня(<Дата>), после чего добавить к полученной дате одну секунду.

Пример 2:

НоваяДата = КонецДня(МояДата) + 1;  

Таким образом мы прибавили к концу заданного дня одну секунду и получили начало следующего дня.

Отметим, что для добавления месяцев в 1С 8 существует отдельная встроенная функция ДобавитьМесяц(<Дата>, <ЧислоМесяцев>). Для того что бы отнять необходимое количество месяцев, нужно что бы параметр ЧислоМесяцев был отрицательным.

Способ 3

Также добавить день к искомой дате в 1С 8 можно при помощи запроса. В языке запросов есть специальная функция ДОБАВИТЬКДАТЕ(<Дата>, <Тип>, <Количество>) предназначенная для изменения дат. Параметр Тип может принимать значения: СЕКУНДА, МИНУТА, ЧАС, ДЕНЬ, НЕДЕЛЯ, МЕСЯЦ и т.д., что позволяет изменять даты на любые промежутки времени.

Пример 3.

Запрос = Новый Запрос;  Запрос.УстановитьПараметр("Дата", ТекущаяДата());    Запрос.Текст =   "ВЫБРАТЬ  |    ДОБАВИТЬКДАТЕ(&Дата, ДЕНЬ, 1) КАК НоваяДата";    Результат = Запрос.Выполнить().Выбрать();    Результат.Следующий();  НоваяДата = Результат.НоваяДата;  

Если вы не умеете писать запросы на встроенном языке 1с, то советую вам прочитать статью Язык запросов 1с — оператор Выбрать, в ней подробно описывается из каких блоков состоит запрос в 1С 8 и как его правильно использовать. После этой статьи прочтите следующую ее часть Запросы 1с 8 — Программная работа. Изучение языка запросов поможет вам стать более грамотным программистом. На этом все, теперь вы знаете три способа, как программно в 1с прибавить к дате день.

 

Программирование системы

   

18.04.2018 07:28

   

23244

Для работы с датами в 1С Предприятии существуют специальные методы встроенного языка. При работе с датами может потребоваться прибавить к дате или вычесть из даты секунду, минуту, час, день, год. Это можно сделать как в запросе, так и в программном коде, средствами встроенного языка.

В программном коде

Для решения данной задачи, можно прибавить к дате или вычесть из даты требуемое количество секунд.

 Дата = Дата + 1;   Дата = Дата - 60;   Дата = Дата - 60 * 60;   Дата = Дата - 60 * 60 * 24;   Дата = Дата - 60 * 60 * 24 * Количество;      //... 

В запросе

Для решения данной задачи, в языке запросов есть специальная функция ДОБАВИТЬКДАТЕ(<Дата>, <Тип>, <Количество>). Параметр «Тип» указывает вид увеличения и может принимать значения: СЕКУНДА, МИНУТА, ЧАС, ДЕНЬ, НЕДЕЛЯ, МЕСЯЦ, КВАРТАЛ, ГОД, ДЕКАДА, ПОЛУГОДИЕ.

 "ДОБАВИТЬКДАТЕ(Дата, СЕКУНДА, 1)"   "ДОБАВИТЬКДАТЕ(Дата, МИНУТА, -1)"   "ДОБАВИТЬКДАТЕ(Дата, ЧАС, -1)"   "ДОБАВИТЬКДАТЕ(Дата, ДЕНЬ, -1)"      //... 

Комментарии (0)

Для того чтобы добавить сообщение, необходимо Войти или Зарегистрироваться

 
 
  • Регистрация
  • Восстановить пароль
  • Вход
 

Расчеты времени постоянно встречаются в повседневной жизни: от вычисления дней до значимой даты до подсчета времени отпуска или периода выплат по банковскому кредиту. Сборник онлайн-калькуляторов поможет вам легко оперировать таким сложным параметром как время.

Время

Управление временем – это не название магического заклинания из компьютерной игры, а вполне себе реальная способность, снискавшая огромную популярность у бизнесменов и инвесторов. Управление временем или тайм-менеджмент – это техника расчета временных отрезков для эффективного выполнения определенного объема работ. Благодаря грамотному планированию рабочего времени и периодов отдыха люди, использующую технику мани-менеджмента, успевают сделать намного больше тех, кто не следит за временем и страдает от прокрастинации.

Естественно, тайм-менеджмент – это наука не только о распределении времени. К наиболее важным навыкам, позволяющим грамотно организовать работу, относятся:

  • умение делегировать задачи и управлять ресурсами;
  • расставлять приоритеты и находить главные цели;
  • распределять время и анализировать результаты.

Делегирование – это перепоручение работы подчиненным или коллегам. Многие неэффективные руководители полагают, что никто не сделает лучше, чем они сами. Естественно, что заваленные кучей незначимой работы они не успевают выполнять приоритетные задачи, в результате чего и становятся неэффективными.

Поиск приоритетов – не менее важная вещь. Принцип Парето гласит, что 80 % результата обеспечивают 20 % усилий. На практике это означает, что важно вовремя выполнять только те задачи, от которых зависит 80 % успеха. Как правило, таких задач немного, не строго 20 % как обещает принцип Парето, но обычно в диапазоне от 20 до 40 %. Именно умение отделять зерна от плевел и создают продуктивных руководителей и бизнесменов.

Наиболее известной, эффективной и в тоже время самой простой техникой считается «Помодоро». Это прием тайм-менеджмента, согласно которому работа выполняется через строго отведенные промежутки времени (обычно 20 минут), каждый из которых сопровождается пятиминутным отдыхом. Свое название техника «Помодоро» получила потому, что ее создатель отмерял промежутки времени при помощи кухонного таймера в виде помидора. С тех пор модернизированные версии тайм-менеджмента легли в основу успеха видных представителей бизнеса.

Расчет времени

Использовать принципы мани-менеджмента можно не только при решении ежедневных задач, но и при планировании крупных проектов, выполнение которых занимает недели или месяцы. Прежде всего следует выяснить, к какому сроку необходимо сдать проект или какое количество времени на него выделено. Рассмотрим подробнее.

Количество дней между двумя датами

Данный инструмент позволяет определить количество дней, укладываемых между двумя датами. К примеру, 20 октября 2017 года вам задали проект, который необходимо закончить к 18 января 2018 года. Идти к календарю и считать время не слишком удобно и проще воспользоваться калькулятором: достаточно выбрать тип программы и вбить обе даты. В ответе видим, что на выполнение плана у вас есть 2 месяца и 29 дней. Не слишком информативно при планировании. Программа выражает это время так же в днях, неделях или месяцах. Смотрим. У вас есть ровно 90 дней или 12 рабочих недель. С этим уже можно построить эффективную систему тайм-менеджмента и не допустить дедлайна.

Какая дата будет через n дней

Еще один удобный инструмент для эффективной работы. Крупный проект на работе могут поручить с пометкой «выполнить в течение 50 дней после принятия заказа». Это большое количество времени, но вновь бежать к календарю и высчитывать его не слишком удобно. Используем калькулятор. Допустим, заказ был принят в работу 28 апреля 2017 года. До какого дня его требуется сдать заказчику? Поменяем тип калькулятора и вычислим дату дедлайна. Это будет 17 июня 2017, суббота. Имея под рукой общее количество дней и дату икс, вы можете легко распределить силы для своевременного выполнения работы.

Какая дата была n дней назад

Данный калькулятор не пригодится вам в работе, но наверняка придет на помощь в личной жизни. Представьте, что вы получили смс-сообщение, в котором ваша пассия поздравляет вас с 100 днем совместной жизни. Это важная дата, которую забывать не стоит, поэтому лучше воспользоваться программой и узнать ее. Вы получили смску 4 июля 2017 года, теперь легко узнать, когда же вы съехались со своей пассией. Итак, выбираем тип калькулятора, вводим дату и юбилейные 100 дней. Ваша памятная дата – 26 марта 2017, воскресенье. Стоит обвести эту дату в календаре.

Временные величины

Данный калькулятор позволяет перевести одни временные величины в другие. При помощи программы можно выразить минуты в дни, недели в года или века в тысячелетия. На практике это может пригодиться при расчете рабочих часов для фрилансеров и свободных художников. Например, у вас есть 28 рабочих дней на выполнение очередного заказа. Это 672 часа. Отнимем время на сон 28 × 8 = 224, время на перерывы и отдых 28 × 4 = 112 и получим, что у вас есть 336 часов на эффективную работу. С этим уже можно работать и использовать техники тайм-менеджмента для продуктивного труда.

Сумма/разница во времени

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

Оцените статью
Рейтинг автора
5
Материал подготовил
Илья Коршунов
Наш эксперт
Написано статей
134
А как считаете Вы?
Напишите в комментариях, что вы думаете – согласны
ли со статьей или есть что добавить?
Добавить комментарий