Функции даты и времени ‒ Qlik Sense для Windows
Функции даты и времени Qlik Sense используются для преобразования значений даты и времени. Все функции можно использовать как в скрипте загрузки данных, так и в выражениях диаграмм.
Функции основываются на серийном номере даты-времени, который равен количеству дней с 30 декабря 1899 г. Целое значение представляет день, а дробное — время дня.
Программа Qlik Sense использует числовое значение параметра, поэтому число может использоваться в качестве параметра также и в тех случаях, когда оно не отформатировано в виде даты или времени. Если параметр не соответствует числовому значению, потому что, например, является строкой, то программа Qlik Sense пытается интерпретировать строку в соответствии с переменными окружения для даты и времени.
Если используемый в параметре формат времени не соответствует установленному в переменных окружения, программа Qlik Sense не сможет правильно выполнить интерпретацию. Для разрешения этой проблемы измените настройки или воспользуйтесь функцией интерпретации.
В примерах для каждой функции допускается время по умолчанию и форматы дат hh:mm:ss и YYYY-MM-DD (ISO 8601).
Примечание об информации
В ходе обработки метки времени с функцией даты или времени Qlik Sense не учитывает параметры перехода на летнее время, за исключением случаев, когда функция даты или времени включает географическое положение.
Например, ConvertToLocalTime( filetime(‘Time.qvd’), ‘Paris’) использует параметры перехода на летнее время, тогда как ConvertToLocalTime(filetime(‘Time.qvd’), ‘GMT-01:00’) не использует параметры перехода на летнее время.
Пользуйтесь информацией из раскрывающегося списка по каждой функции, чтобы увидеть краткое описание и синтаксис каждой функции. Дополнительную информацию можно получить, если щелкнуть имя функции в описании синтаксиса.
Целочисленные выражения времени
Эта функция возвращает время в секундах в виде целого числа, а дробное выражение expression интерпретируется как время согласно стандартной интерпретации чисел.
second(expression)
Эта функция возвращает время в минутах в виде целого числа, а дробное выражение expression интерпретируется как время согласно стандартной интерпретации чисел.
minute(expression)
Эта функция возвращает время в часах в виде целого числа, а дробное выражение expression интерпретируется как время согласно стандартной интерпретации чисел.
hour(expression)
Эта функция возвращает день в виде целого числа, а дробное выражение expression интерпретируется как дата согласно стандартной интерпретации чисел.
day(expression)
Эта функция возвращает номер недели в виде целого числа согласно стандарту ISO 8601. Номер недели высчитывается на основе интерпретации данных выражения согласно стандартной интерпретации чисел.
week(expression)
Эта функция возвращает двойное значение с именем месяца, как определено переменной окружения MonthNames, и целое в диапазоне от 1 до 12. Месяц высчитывается на основе интерпретации данных выражения согласно стандартной интерпретации чисел.
month(expression)
Эта функция возвращает год в виде целого числа, а выражение expression интерпретируется как дата согласно стандартной интерпретации чисел.
year(expression)
Эта функция возвращает год, которому принадлежит номер недели согласно стандарту ISO 8601. Номер недели в году может быть установлен в пределах от 1 до 52.
weekyear(expression)
Эта функция возвращает двойное значение со следующим:
- Имя дня, как определено переменной окружения DayNames.
- Целое от 0 до 6, соответствующее номинальному дню недели (0–6).
weekday(date)
Функции меток времени
Эта функция возвращает метку текущего времени по системным часам. Значение по умолчанию — 1.
now([ timer_mode])
Эта функция возвращает текущую дату по системным часам.
today([timer_mode])
Эта функция возвращает метку текущего времени для указанного часового пояса.
localtime([timezone [, ignoreDST ]])
Функции формирования
Эта функция возвращает дату, рассчитанную в формате год YYYY, месяц MM и день DD.
makedate(YYYY [ , MM [ , DD ] ])
Эта функция возвращает дату, рассчитанную в формате год YYYY, неделя WW и день недели D.
makeweekdate(YYYY [ , WW [ , D ] ])Эта функция возвращает время, рассчитанное в формате часы hh, минуты mm и секунды ss.
maketime(hh [ , mm [ , ss [ .fff ] ] ])
Другие функции даты
Эта функция возвращает дату через n месяцев после даты начала startdate или, если n является отрицательным числом, — дату за n месяцев до даты начала startdate.
addmonths(startdate, n , [ , mode])
Эта функция возвращает дату через n лет после даты начала startdate или, если n является отрицательным числом, — дату за n лет до даты начала startdate.
NotToTranslate»>addyears(startdate, n)Эта функция определяет, находится ли введенная метка времени в том году, в котором находится дата последней загрузки скрипта, и возвращает значение True, если это так, и False если это не так.
yeartodate(date [ , yearoffset [ , firstmonth [ , todaydate] ] ])
Функции часовых поясов
Эта функция возвращает имя текущего часового пояса, соответствующее имени, используемому в Windows.
timezone( )
Эта функция возвращает текущее значение Greenwich Mean Time согласно региональным настройкам.
GMT( )
Возвращает текущее время Coordinated Universal Time.
UTC( )
Возвращает текущие настройки перехода на летнее время согласно установкам Windows.
daylightsaving( )
Преобразует формат метки времени UTC или GMT в местное время и выводит в виде двойного значения. Местоположение может задаваться для любого числа городов, мест и часовых поясов Земли.
converttolocaltime(timestamp [, place [, ignore_dst=false]])
Функции установки времени
Данная функция берет в качестве входных значений timestamp и year и обновляет значение timestamp с учетом указанного входного значения year .
setdateyear (timestamp, year)
Данная функция берет в качестве входных значений timestamp, month и year и обновляет значение timestamp с учетом указанных входных значений year и month .
setdateyearmonth (timestamp, year, month)
Функции вхождения
Эта функция возвращает значение True, если поле timestamp находится в пределах года, включающего значение, указанное в поле base_date.
inyear(date, basedate , shift [, first_month_of_year = 1])
Эта функция возвращает значение True, если значение timestamp находится в пределах части года, включающей значение, заданное в поле base_date до последней миллисекунды, указанной в поле base_date, включительно.
inyeartodate (date, basedate , shift [, first_month_of_year = 1])
Эта функция возвращает значение True, если поле timestamp находится в пределах квартала, включающего значение, указанное в поле base_date.
inquarter (date, basedate , shift [, first_month_of_year = 1])
Эта функция возвращает значение True, если значение timestamp находится в пределах части квартала, включающей значение, заданное в поле base_date до последней миллисекунды, указанной в поле base_date, включительно.
inquartertodate (date, basedate , shift [, first_month_of_year = 1])
Эта функция возвращает значение True, если поле timestamp находится в пределах месяца, включающего значение, указанное в поле base_date.
inmonth(date, basedate , shift)
Возвращает значение True, если значение date находится в пределах части месяца, включающей значение, заданное в поле basedate до последней миллисекунды, указанной в поле basedate, включительно.
inmonthtodate (date, basedate , shift)
Эта функция определяет, находится ли метка времени в том же месяце, двухмесячном периоде, квартале, триместре или полугодии, что и базовая дата. Также можно проследить, находится ли эта метка времени в предыдущем или последующем временном периоде.
NotToTranslate»>inmonths(n, date, basedate , shift [, first_month_of_year = 1])Эта функция определяет, находится ли метка времени в части месяца, двухмесячного периода, квартала, триместра или полугодия до последней миллисекунды, указанной в поле base_date, включительно. Также можно проследить, находится ли метка времени в предыдущем или в последующем временном периоде.
inmonthstodate (n, date, basedate , shift [, first_month_of_year = 1])
Эта функция возвращает значение True, если поле timestamp находится в пределах недели, включающей значение, указанное в поле base_date.
inweek(date, basedate , shift [, weekstart])
Эта функция возвращает значение True, если значение timestamp находится в пределах части недели, включающей значение, заданное в поле base_date до последней миллисекунды, указанной в поле base_date, включительно.
inweektodate (date, basedate , shift [, weekstart])
Эта функция определяет, находится ли значение timestamp в пределах лунной недели, включающей значение, указанное в поле base_date. Лунные недели в Qlik Sense определяются от 1 января как первого дня недели.
inlunarweek (date, basedate , shift [, weekstart])
Эта функция определяет, находится ли значение timestamp в пределах части лунной недели до последней миллисекунды, указанной в поле base_date, включительно. Лунные недели в Qlik Sense определяются от 1 января как первого дня недели.
inlunarweektodate (date, basedate , shift [, weekstart])
Эта функция возвращает значение True, если поле timestamp находится в пределах дня, включающего значение, указанное в поле base_timestamp.
inday(timestamp, basetimestamp , shift [, daystart])
Эта функция возвращает значение True, если значение timestamp находится в пределах части дня, включающей значение, заданное в поле base_timestamp до определенной миллисекунды, указанной в поле base_timestamp, включительно.
indaytotime(timestamp, basetimestamp , shift [, daystart])
Функции начала и конца
Эта функция возвращает метку времени, соответствующую началу первого дня года, содержащего значение date. По умолчанию для вывода используется формат DateFormat, установленный в скрипте.
yearstart( date [, shift = 0 [, first_month_of_year = 1]])
Эта функция возвращает значение, соответствующее метке времени, включающей последнюю миллисекунду последнего дня года, содержащего значение, указанное в поле date. По умолчанию для вывода используется формат DateFormat, установленный в скрипте.
yearend( date [, shift = 0 [, first_month_of_year = 1]])
Эта функция возвращает 4-значное значение года с базовым числовым значением, соответствующим метке времени с первой миллисекундой первого дня года, содержащего значение, указанное в поле date.
yearname(date [, shift = 0 [, first_month_of_year = 1]] )
Эта функция возвращает значение, соответствующее метке времени, включающей первую миллисекунду квартала, содержащего значение, указанное в поле date. По умолчанию для вывода используется формат DateFormat, установленный в скрипте.
quarterstart(date [, shift = 0 [, first_month_of_year = 1]])
Эта функция возвращает значение, соответствующее метке времени, включающей последнюю миллисекунду квартала, содержащего значение, указанное в поле date. По умолчанию для вывода используется формат DateFormat, установленный в скрипте.
quarterend(date [, shift = 0 [, first_month_of_year = 1]])
Эта функция возвращает значение, отображающее месяцы квартала (в формате переменной MonthNames скрипта) и год с базовым числовым значением, соответствующим метке времени, включающей первую миллисекунду первого дня квартала.
quartername(date [, shift = 0 [, first_month_of_year = 1]])
Эта функция возвращает значение, соответствующее метке времени, включающей первую миллисекунду первого дня месяца, содержащего значение, указанное в поле date. По умолчанию для вывода используется формат DateFormat, установленный в скрипте.
monthstart(date [, shift = 0])
Эта функция возвращает значение, соответствующее метке времени, включающей последнюю миллисекунду последнего дня месяца, содержащего значение, указанное в поле date. По умолчанию для вывода используется формат DateFormat, установленный в скрипте.
monthend(date [, shift = 0])
Эта функция возвращает значение, отображающее месяц (в формате переменной MonthNames скрипта) и год с базовым числовым значением, соответствующим метке времени, включающей первую миллисекунду первого дня указанного месяца.
monthname(date [, shift = 0])
Эта функция возвращает значение, соответствующее метке времени первой миллисекунды месяца, двухмесячного периода, квартала, триместра или полугодия, содержащих базовую дату. Также можно найти метку времени для предыдущего или последующего временного периода.
monthsstart(n, date [, shift = 0 [, first_month_of_year = 1]])
Эта функция возвращает значение, соответствующее метке времени последней миллисекунды месяца, двухмесячного периода, квартала, триместра или полугодия, содержащих базовую дату. Также можно найти метку времени для предыдущего или последующего временного периода.
monthsend(n, date [, shift = 0 [, first_month_of_year = 1]])
Эта функция возвращает значение, представляющее диапазон месяцев периода (форматированного согласно переменным скрипта MonthNames), а также года. Базовое числовое значение соответствует метке времени первой миллисекунды месяца, двухмесячного периода, квартала, триместра или полугодия, содержащих базовую дату.
monthsname(n, date [, shift = 0 [, first_month_of_year = 1]])
Эта функция возвращает значение, соответствующее метке времени, включающей первую миллисекунду первого дня (понедельника) календарной недели, содержащего значение, указанное в поле date. По умолчанию для вывода используется формат DateFormat, установленный в скрипте.
NotToTranslate»>weekstart(date [, shift = 0 [,weekoffset = 0]])Эта функция возвращает значение, соответствующее метке времени, включающей последнюю миллисекунду последней даты (воскресенья) календарной недели, включающей дату, заданную в поле date. По умолчанию для вывода используется формат даты DateFormat, установленный в скрипте.
weekend(date [, shift = 0 [,weekoffset = 0]])
Эта функция возвращает значение года и номер недели с базовым числовым значением, соответствующим метке времени, включающей первую миллисекунду первого дня недели, содержащего значение, указанное в поле date.
weekname(date [, shift = 0 [,weekoffset = 0]])
Эта функция возвращает значение, соответствующее метке времени первой миллисекунды лунной недели, содержащей значение, указанное в поле date. Лунные недели в Qlik Sense определяются от 1 января как первого дня недели.
lunarweekstart(date [, shift = 0 [,weekoffset = 0]])
Эта функция возвращает значение, соответствующее метке времени последней миллисекунды лунной недели, содержащей значение, указанное в поле date. Лунные недели в Qlik Sense определяются от 1 января как первого дня недели.
lunarweekend(date [, shift = 0 [,weekoffset = 0]])
Эта функция возвращает значение года и номер лунной недели, соответствующие метке времени первой миллисекунды первого дня лунной недели, содержащего значение, указанное в поле date. Лунные недели в Qlik Sense определяются от 1 января как первого дня недели.
lunarweekname(date [, shift = 0 [,weekoffset = 0]])
Эта функция возвращает значение, соответствующее метке времени, включающей первую миллисекунду дня, содержащуюся в аргументе time. По умолчанию для вывода используется формат TimestampFormat, установленный в скрипте.
daystart(timestamp [, shift = 0 [, dayoffset = 0]])
Эта функция возвращает значение, соответствующее метке времени, включающей последнюю миллисекунду дня, содержащуюся в поле time. По умолчанию для вывода используется формат TimestampFormat, установленный в скрипте.
dayend(timestamp [, shift = 0 [, dayoffset = 0]])
Эта функция возвращает значение даты с базовым числовым значением, соответствующим метке времени, включающей первую миллисекунду дня, содержащего значение, указанное в поле time.
dayname(timestamp [, shift = 0 [, dayoffset = 0]])
Функции нумерации дней
Функция age возвращает значение возраста в момент времени, заданный в поле timestamp (полных лет), человека, дата рождения которого указана в поле date_of_birth.
age(timestamp, date_of_birth)
Функция networkdays возвращает число рабочих дней (понедельник-пятница) между и включая значения, указанные в поле start_date и end_date, учитывая выходные, которые можно дополнительно задать в поле holiday.
networkdays (start:date, end_date {, holiday})
Функция firstworkdate возвращает самую позднюю дату начала, при которой период, заданный в поле no_of_workdays (понедельник-пятница), окончится не позднее даты, заданной в поле end_date, с учетом возможных выходных. end_date и holiday должны быть действительными датами или метками времени.
firstworkdate(end_date, no_of_workdays {, holiday} )
Функция lastworkdate возвращает самую раннюю дату окончания для достижения указанного числа рабочих дней no_of_workdays (понедельник-пятница) с начальной датой start_date и с учетом выходных, которые можно дополнительно задать в поле holiday. Поля start_date и holiday должны быть действительными датами или метками времени.
lastworkdate(start_date, no_of_workdays {, holiday})
Эта функция вычисляет номер дня года, на который приходится метка времени. Вычисление выполняется с первой миллисекунды первого дня года, но первый месяц может быть смещен.
daynumberofyear(date[,firstmonth])
Эта функция вычисляет номер дня квартала, на который приходится метка времени. Эта функция используется при создании основного календаря.
daynumberofquarter(date[,firstmonth])
Как в python получить текущую дату и время ➤ DefPython
Вот пример того, как получить текущую дату и время, используя модуль datetime в Python:
import datetimenow = datetime.datetime.now()
print print "Текущая дата и время с использованием метода str:" print str(now)
print print "Текущая дата и время с использованием атрибутов:" print "Текущий год: %d" % now. year print "Текущий месяц: %d"% now.month print "Текущий день: %d" % now.day print "Текущий час: %d" % now.hour print "Текущая минута: %d" % now.minute print "Текущая секунда: %d" % now.second print "Текущая микросекунда: %d" % now.microsecond print print "Текущая дата и время с использованием strftime:" print now.strftime("%d-%m-%Y %H:%M")
print print "Текущая дата и время с использованием isoformat:" print now.isoformat()
Результат:
Текущая дата и время с использованием метода str: 2015-11-18 16:15:11.420121 Текущая дата и время с использованием атрибутов: Текущий год: 2015 Текущий месяц: 11 Текущий день: 18 Текущий час: 16 Текущая минута: 15 Текущая секунда: 11 Текущая микросекунда: 420121 Текущая дата и время с использованием strftime: 18-11-2015 16:15 Текущая дата и время с использованием isoformat: 2015-11-18T16:15:11. 420121
Другие полезные методы класса datetime:
datetime.today()
— текущая дата, время равно 0.
datetime.fromtimestamp(timestamp)
— дата из стандартного представления времени.
datetime.date()
— объект даты (с отсечением времени).
datetime.time()
— объект времени (с отсечением даты).
datetime.combine(date, time)
— объект datetime из комбинации объектов date и time.
datetime.replace([year[,
month[, day[, hour[, minute[, second[, microsecond[, tzinfo]]]]]]]])
—
возвращает новый объект datetime с изменёнными атрибутами.
datetime.weekday()
— день недели в числовом формате, понедельник — 0, воскресенье — 6.
datetime.isoweekday()
— день недели в числовом формате, понедельник — 1, воскресенье — 7.
datetime.strptime(date_string, format)
— преобразует строку в datetime.
datetime.strftime(format)
— преобразует datetime в строку в datetime.
Опции strftime
из документации на модуль time
Директива |
Значение |
Примечания |
---|---|---|
%a |
Сокращенное название дня недели |
|
%A |
Полное название дня недели |
|
%b |
Сокращенное название месяца |
|
%B |
Полное название месяца |
|
%c |
Дата и время |
|
%d |
День месяца [01,31] | |
%H |
24-часовой формат часа [00,23] | |
%I |
12-часовой формат часа [01,12] |
|
%j |
День года. Цифровой формат [001,366] | |
%m |
Номер месяца. Цифровой формат [01,12] |
|
%M |
Минута. Цифровой формат [00,59] |
|
%p |
До полудня или после (AM или PM) |
(1) |
%S |
Секунда. Цифровой формат [00,61] |
(2) |
%U |
Номер недели в году. Цифровой формат [00,53] (С воскресенья) |
(3) |
%w |
День недели. Цифровой формат [0(Sunday),6] |
|
%W |
Номер недели в году. Цифровой формат [00,53] (С понедельника) |
(3) |
%x |
Дата |
|
%X |
Время |
|
%y |
Год без века. Цифровой формат [00,99] |
|
%Y |
Год с веком. Цифровой формат |
|
%Z |
Временная зона |
|
%% |
Знак ‘%’ |
- При использовании функции strptime (), директива % р влияет на поле времени только, при использовании директивы %I .
- Диапазон действительно 0 до 61; это учитывает високосную секунду и (очень редко) двойную високосные секунду.
- При использовании функции strptime (),% U и% W расчитываются, только когда указан день недели и год.
Сегодняшняя дата | Какое сегодня число?
Святое гуакамоле! Для правильной работы BlankCalendarPages требуется JavaScript. Пожалуйста, включите его.
Какое сегодня число? Давайте рассмотрим более подробную информацию о сегодняшней дате, сегодняшнем празднике, различных форматах дня, созвездии зодиака на сегодня и многом другом. Во всем мире существует два основных способа написания даты только цифрами. Американский способ записи даты — «месяц-день-год», а европейский — «день-месяц-год». Даты также могут быть выражены множеством других способов. Некоторые компании требуют использования дат RFC. Ниже приведены некоторые примеры.
ФОРМАТ ДАТЫ ДЛЯ ЛЮБОГО ГОРОДА
Введите город + пробел для списка предложений.
Сегодняшняя дата
Местоположение | ( ) |
Номер дня года | |
Номер недели года (en-US) | |
Номер недели года (ISO-8601) | |
Номер месяца | |
Високосный год | |
дней, оставшихся в | году
Текущая дата в различных форматах даты
Всемирное координированное время | |
Эпоха Unix | |
ИСО-8601 | |
RFC 2822 | |
RFC 822 | |
RFC 1036 | |
RFC 3339 | |
День-месяц-год (ДД-ММ-ГГГГ) | |
Месяц-День-Год (ММ-ДД-ГГГГ) | |
Год-День-Месяц (ГГГГ-ДД-ММ) | |
Год-Месяц-День (ГГГГ-ММ-ДД) |
Зодиак сегодня
Зодиак сегодня | |
Камень | |
Цветок рождения | |
Информация о восходе луны для вашего местоположения | |
Информация о восходе солнца для вашего местоположения |
Дней с сегодняшнего дня Быстрый просмотр
28 дней с сегодняшнего дня: | |
30 дней с сегодняшнего дня: | |
45 дней с сегодняшнего дня: | |
60 дней с сегодняшнего дня: | |
90 дней с сегодняшнего дня: | |
120 дней с сегодняшнего дня: | |
добавить/вычесть больше дат и времени с сегодняшнего дня |
Какой сегодня праздник?
Узнайте, какой сегодня праздник, с нашим календарем национальных дней
Пожалуйста, рассмотрите возможность включения рекламы для нашего сайта , это действительно нам поможет. Мы уважаем вашу конфиденциальность и выбор рекламы и рекомендуем вам отслеживать YourAdChoices для всех веб-сайтов, которые вы посещаете.
Функция Excel СЕГОДНЯ для вставки сегодняшней даты и т. д.
В этом учебном пособии показано, как вставить сегодняшнюю дату в рабочие листы, а также демонстрируется несколько других способов использования функции СЕГОДНЯ в Excel.
Вы хотите поставить сегодняшнюю дату в какую-то ячейку? Или вы хотите выделить текущую дату в календаре Excel? Или вы хотите найти дату, ближайшую к сегодняшнему дню? Все это можно сделать с помощью функции Excel СЕГОДНЯ, и этот учебник научит вас, как это сделать.
- Функция Excel СЕГОДНЯ — синтаксис и основное использование
- Как вставить сегодняшнюю дату в Excel
- Примеры использования формулы СЕГОДНЯ в Excel
- Прибавление или вычитание дней к сегодняшней дате
- Получить количество дней до или после определенной даты
- Подсчет месяцев с/до определенной даты
- Подсчет лет с/до определенной даты
- Получить возраст по дате рождения
- Найти ближайшую дату к сегодняшнему дню
- Выделить сегодняшнюю дату
- Дополнительные примеры формулы СЕГОДНЯ в Excel
Функция Excel СЕГОДНЯ — синтаксис и основное использование
Функция СЕГОДНЯ в Excel делает именно то, на что указывает ее название — возвращает сегодняшнюю дату.
Синтаксис функции СЕГОДНЯ настолько прост, насколько это возможно — она вообще не имеет аргументов. Всякий раз, когда вам нужно вставить сегодняшнюю дату в Excel , просто введите в ячейку следующую формулу:
=СЕГОДНЯ()
Вы можете отформатировать значение, возвращаемое СЕГОДНЯ, в любом встроенном или пользовательском формате даты. Например, так:
4 вещи, которые вы должны знать о СЕГОДНЯ в Excel
- СЕГОДНЯ() — это изменчивая функция , что означает, что она постоянно обновляется каждый раз, когда рабочий лист открывается или изменяется.
- Если формула СЕГОДНЯ не обновляется автоматически, скорее всего, в вашей книге отключен автоматический пересчет. Чтобы снова включить его, перейдите на вкладку Формулы > Параметры расчета и выберите Автоматически .
- Чтобы ввести сегодняшнюю дату в Excel как статическое неизменяемое значение , используйте эти сочетания клавиш.
- Если вы хотите вставить текущую дату и время , используйте функцию СЕЙЧАС() вместо СЕГОДНЯ().
Как вставить сегодняшнюю дату в Excel
Текущую дату в Excel можно ввести двумя способами — с помощью формулы и ярлыка. Какой из них использовать, зависит от того, хотите ли вы статическое или динамическое значение.
Формула Excel для сегодняшней даты
Значение, возвращаемое функцией СЕГОДНЯ, обновляется автоматически, поэтому приведенная ниже формула полезна, если вы хотите, чтобы рабочий лист всегда отображал текущую дату, независимо от того, когда вы его открываете.
=СЕГОДНЯ()
Чтобы уточнить, что это за дата, вы можете соединить СЕГОДНЯ() с пояснительным текстом, например: «мммм дд, гггг»))
Поскольку во внутренней системе Excel даты и время хранятся в виде чисел, непосредственное объединение текста с формулой СЕГОДНЯ() приведет к бессмысленной строке, например «Сегодня 42965». Чтобы избежать этого, мы вкладываем функцию Excel СЕГОДНЯ в функцию ТЕКСТ, чтобы отображать дату в нужном формате.
Сочетания клавиш для получения текущей даты в Excel
Вставка сегодняшней даты в виде неизменяемой метки времени , которая не будет автоматически обновляться на следующий день, используйте одно из следующих сочетаний клавиш:
- Чтобы вставить текущую дату: Ctrl + ;
- Чтобы вставить текущее время: Ctrl + Shift + ;
- Для ввода текущей даты и времени : Ctrl + ; затем пробел, а затем Ctrl + Shift + ;
Как использовать функцию СЕГОДНЯ в Excel — примеры формул
Как вы уже знаете, основная цель функции Excel СЕГОДНЯ — получить сегодняшнюю дату. Кроме того, вы можете использовать СЕГОДНЯ() в сочетании с другими функциями для выполнения более сложных вычислений на основе текущей даты. Ниже вы найдете несколько примеров таких формул.
Прибавление или вычитание дней к/от сегодняшней даты
Чтобы прибавить или вычесть определенное количество дней до/от текущей даты, используйте простую арифметическую операцию сложения или вычитания соответственно.
Например, чтобы добавить 7 дней к сегодняшней дате, используйте следующую формулу:
=СЕГОДНЯ()+7
Чтобы вычесть 7 дней из текущей даты, используйте следующую формулу:
=СЕГОДНЯ( )-7
Чтобы исключить выходные (суббота и воскресенье) из ваших расчетов, вложите функцию СЕГОДНЯ в РАБДЕНЬ, которая работает только с будними днями:
Чтобы добавить 7 рабочих дней к сегодняшней дате:
= РАБДЕНЬ(СЕГОДНЯ( ), 7)
Чтобы из сегодняшней даты вычесть 7 рабочих дней:
=РАБДЕНЬ(СЕГОДНЯ(), -7)
На следующем снимке экрана показаны результаты:
Совет. Чтобы вычисленная дата отображалась правильно, установите формат ячейки формулы Date .
Получить количество дней до или после определенной даты
Чтобы рассчитать, сколько дней осталось до некоторых данных, вычтите сегодняшнюю дату из будущей даты, к которой вы рассчитываете:
дата -СЕГОДНЯ()
Дату можно указать непосредственно в формуле в формате, понятном Excel, или с помощью функции ДАТА, или в виде ссылки на ячейку, содержащую дату.
Например, чтобы узнать, сколько дней осталось до 31 декабря 2017 г., используйте одну из следующих формул:
=A2-СЕГОДНЯ()
=ДАТА(2017,12,31)-СЕГОДНЯ( )
="31.12.2017"-СЕГОДНЯ()
Все три формулы говорят нам о том, что на момент написания (17 августа 2017 года) до конца 2017 года оставалось 136 дней:
Чтобы рассчитать количество дней с определенной даты, вычтите прошлую дату из сегодняшней даты:
СЕГОДНЯ()- дата
Например, чтобы узнать, сколько дней прошло с 1 января 2017 г., используйте одну из следующих формул: )-DATE(2017,1,1)
=СЕГОДНЯ()-"1/1/2017"
Совет. Если результат отображается неправильно, обязательно примените формат General к ячейке формулы.
Подсчет месяцев с или до определенной даты
Чтобы получить количество месяцев между сегодняшней и прошлой датой , используйте функцию DATEDIF(start_date, end_date, unit) с прошлой датой в аргументе start_date , TODAY() как end_date и «m» unit , обозначающий месяцы:
DATEDIF( past_ date , TODAY(),»m»)
Чтобы получить количество месяцев между сегодняшней и будущей датой , поменяйте местами start_date и end_date аргументы:
DATEDIF(TODAY() , будущее ,»m»)
С интересующей датой в ячейке A4 используйте следующие формулы для расчета разницы во времени в количестве полных месяцев:
Для расчета месяцев с определенной даты в прошлом :
=DATEDIF(A4,СЕГОДНЯ(),"m")
Для расчета месяцев до определенной даты в будущем :
=DATEDIF(СЕГОДНЯ(),A4,"m")
Подсчет лет с/до определенной даты
Формулы для подсчета лет на основе сегодняшней даты аналогичны тем, что рассмотрены в приведенном выше примере. Разница в том, что вы используете единицу «y», чтобы получить количество полных лет между сегодняшним днем и другими данными:
Чтобы вычислить года с прошлой даты :
DATEDIF( past_ date , TODAY(),»y «)
Чтобы вычислить года до будущей даты :
РАЗНДАТ(СЕГОДНЯ(), future-date ,»y»)
Предполагая, что прошедшая/будущая дата находится в ячейке A4, вы должны использовать следующие формулы:
Количество полных лет с даты :
=DATEDIF( A4,TODAY(),"y")
Количество полных лет с до date:
=DATEDIF(TODAY(),A4,"y")
Дополнительную информацию о функции РАЗНДАТ ДАТЫ см. в разделе Excel РАЗНД ДАТЫ — вычисление разницы между двумя датами.
Получить возраст по дате рождения
Если вам известен чей-то год рождения, вы можете вычесть этот год из текущего, чтобы найти возраст человека: человек родился в 2000 году, вы можете использовать следующую формулу, чтобы получить его/ее возраст:
=ГОД(СЕГОДНЯ())-2000
Или вы можете ввести год рождения в отдельной ячейке и указать ссылку на эту ячейку в вашей формуле:
В этом уроке вы можете изучить несколько других формул расчета возраста: Как получить возраст по дате рождения в Excel.
Найти ближайшую дату к сегодняшнему дню
Если вам интересно узнать, какая дата в списке ближе всего к сегодняшней дате, используйте одну из следующих формул массива, чтобы найти ее.
Получить прошлую дату, ближайшую к сегодняшней
Чтобы найти прошлую дату, ближайшую к текущей дате, сначала «отфильтруйте» даты, которые больше, чем сегодня, а затем используйте функцию MAX, чтобы получить самую большую дату среди оставшихся:
МАКС(ЕСЛИ( диапазон < СЕГОДНЯ(), диапазон ))
С датами в ячейках от A2 до A10 формула будет выглядеть следующим образом:
=МАКС(ЕСЛИ($A$2:$A$10 < СЕГОДНЯ(), $A$2:$A$10))
Получение даты в будущем, ближайшей к сегодняшней
Чтобы найти ближайшую дату в будущем, определите даты, которые больше, чем сегодня, а затем используйте функцию MIN, чтобы получить наименьшую дату среди них:
MIN(IF( диапазон > TODAY(), диапазон ))
Для нашего примера набора данных мы будем использовать эту формулу:
=MIN(IF($A$2:$A$10 > TODAY(), $A$2:$A$10))
Получить любую дату, ближайшую к сегодняшнему дню
Чтобы получить ближайшую дату в смешанном списке прошлых и будущих дат, используйте классическую формулу ПОИСКПОЗ ИНДЕКС с несколькими модификациями:
ИНДЕКС( диапазон , ПОИСКПОЗ(МИН(АБС( диапазон - СЕГОДНЯ())), АБС( диапазон - СЕГОДНЯ( )), 0))
Вот как работает эта общая формула:
- MIN(ABS( диапазон -СЕГОДНЯ())) часть. Во-первых, вы вычитаете сегодняшнюю дату из каждой даты в диапазоне дат. Затем функция ABS возвращает различия как абсолютные значения без учета их знака. MIN находит минимальное значение, которое переходит в INDEX MATCH в качестве значения поиска.
- ABS( диапазон -СЕГОДНЯ()) часть. Вы вычитаете сегодняшнюю дату из диапазона дат и возвращаете массив абсолютных значений. В этом массиве ИНДЕКС ПОИСКПОЗ ищет искомое значение.
В этом примере формула принимает следующий вид:
=ИНДЕКС($A$2:$A$10, ПОИСКПОЗ(MIN(ABS($A$2:$A$10 - СЕГОДНЯ())), ABS($ A$2:$A$10 - СЕГОДНЯ()), 0))
На скриншоте ниже показан результат:
Примечание. Все три формулы для получения ближайшей даты равны 9.0254 формулы массива , поэтому их нужно завершать нажатием Ctrl+Shift+Enter.
Как выделить сегодняшнюю дату в Excel
При работе с длинным списком дат или при разработке собственного календаря в Excel может потребоваться выделение текущей даты.