Как преобразовать дату в число в Excel (3 примера)

В этом руководстве объясняется, как преобразовать дату в число в трех различных сценариях:
1. Преобразуйте одну дату в число
2. Преобразуйте несколько дат в числа
3. Преобразование даты в количество дней с другой даты
Пример 1: преобразование одной даты в число
Предположим, мы хотим преобразовать дату «10.02.2022» в число в Excel.
Для этого мы можем использовать функцию ДАТАЗНАЧ в Excel:
=DATEVALUE("2/10/2022")
По умолчанию эта функция вычисляет количество дней между заданной датой и 01.01.1900 .
На следующем снимке экрана показано, как использовать эту функцию на практике:

Это говорит нам о том, что между 10.02.2022 и 01.01.1900 существует разница в 44 602 дня.
Пример 2. Преобразование нескольких дат в числа
Предположим, у нас есть следующий список дат в Excel:

Чтобы преобразовать каждую из этих дат в число, мы можем выделить диапазон ячеек, содержащих даты, затем щелкнуть раскрывающееся меню «Числовой формат » на вкладке « Главная » и выбрать « Число »:

Это автоматически преобразует каждую дату в число, представляющее количество дней между каждой датой и 01.01.1900 :

Пример 3. Преобразование даты в количество дней, прошедших с другой даты
Мы можем использовать следующую формулу для преобразования даты в количество дней, прошедших с другой даты:
=DATEDIF( B2 , A2 , "d")
Эта конкретная формула вычисляет количество дней между датой в ячейке B2 и датой в ячейке A2 .
На следующем снимке экрана показано, как использовать формулу DATEDIF для расчета количества дней между датами в столбце A и 01.01.2022:

Вот как интерпретировать значения в столбце B:
- Между 01.01.2022 и 01.04.2022 есть 3 дня.
- Между 01.01.2022 и 01.01.2022 8 дней.
- Между 01.01.2022 и 15.01.2022 14 дней.
Дополнительные ресурсы
В следующих руководствах объясняется, как выполнять другие распространенные задачи в Excel:
Как преобразовать дату в число
Argument ‘Topic id’ is null or empty
Сейчас на форуме
© Николай Павлов, Planetaexcel, 2006-2023
info@planetaexcel.ru
Использование любых материалов сайта допускается строго с указанием прямой ссылки на источник, упоминанием названия сайта, имени автора и неизменности исходного текста и иллюстраций.
| ООО «Планета Эксел» ИНН 7735603520 ОГРН 1147746834949 |
ИП Павлов Николай Владимирович ИНН 633015842586 ОГРНИП 310633031600071 |
Как преобразовать дату в число
При работе с WEB-приложениями, постоянно сталкиваешься с датой и временем, указанном в формате машин UNIX. Такое время хранится целым числом, указывающим, сколько секунд прошло с 1 января 1970 года. Соответственно, понятная любому дата 11.12.2014, будет представлена в виде числа 1418245200. Несколько раз сталкивался с тем, что нужно просто получить значение в каком-то формате. Конечно, нет сложности, использовать функции PHP и получить дату в нужном формате, но ведь когда сталкиваешься с одной задачей несколько раз, просто необходимо ее автоматизировать. Вот и пришла в голову мысль, сделать для таких целей готовую форму. А описание всех функций, используемых для этой программы, изложено в статье «Работа с датой и временем в PHP».
Преобразование UNIX TIMESTAMP в стандартный формат (PHP)
| — дата: |
| — время: |
| — день недели: |
Документация
Преобразование между массивами datetime, числами и текстом
Обзор
datetime лучший тип данных для представления моментов времени. datetime значения имеют гибкие форматы отображения и до точности наносекунды и могут составлять часовые пояса, летнее время и секунды прыжка. Однако, если вы работаете с кодом, созданным в MATLAB ® R2014a или ранее, или если вы совместно используете код с другими, которые используют такую версию, вы можете должны быть работать с датами и время, сохраненное в одном из этих трех форматов:
- Строка даты — вектор символов.
Example: Thursday, August 23, 2012 9:45:44.946 AM
Example: [2012 8 23 9 45 44.946]
Example: 7.3510e+005
Строки даты, векторы и числа могут храниться как массивы значений. Сохраните несколько строк даты в массиве ячеек из символьных векторов, несколько векторов даты в m — 6 матриц и несколько последовательных чисел даты в матрице.
Можно преобразовать любой из этих форматов к datetime массив с помощью datetime функция. Если ваш существующий код MATLAB ожидает последовательный номер даты или вектор даты, используйте datenum или datevec функции, соответственно, чтобы преобразовать datetime массив к ожидаемому формату данных. Преобразовывать datetime массив к векторам символов, используйте char или cellstr функции.
Начиная в R2016b, также можно преобразовать datetime массив к массиву строк с string функция.
Преобразование между Datetime и векторами символов
Строка даты может быть вектором символов, состоявшим из полей, связанных с определенной датой и/или время. Существует несколько способов представлять даты и времена в текстовом формате. Например, все следующее является векторами символов, представляющими 23 августа 2010 в 16:35:42:
'23-Aug-2010 04:35:06 PM' 'Wednesday, August 23' '08/23/10 16:35' 'Aug 23 16:35:42.946'
Строка даты включает символы, которые разделяют поля, такие как дефис, пробел и двоеточие, используемое здесь:
d = '23-Aug-2010 16:35:42'
Преобразуйте одну или несколько строк даты в datetime массив с помощью datetime функция. Для лучшей эффективности задайте формат входных строк даты как вход к datetime .
Примечание
Спецификаторы, что datetime использование, чтобы описать форматы даты и времени отличается от спецификаторов что datestr , datevec , и datenum функции принимают.
Для полного списка спецификаторов формата даты и времени смотрите Format свойство datetime тип данных.
t = datetime(d,'InputFormat','dd-MMM-yyyy HH:mm:ss')
t = datetime 23-Aug-2010 16:35:42
Несмотря на то, что строка даты, d , и datetime скаляр, t , выглядите подобными, они не равны. Просмотрите размер и тип данных каждой переменной.
whos d t
Name Size Bytes Class Attributes d 1x20 40 char t 1x1 17 datetime
Преобразуйте datetime массив к использованию вектора символов char или cellstr . Например, преобразуйте текущую дату и время к метке времени, чтобы добавить к имени файла.
t = datetime('now','Format','yyyy-MM-dd''T''HHmmss')
t = datetime 2017-01-03T151105
S = char(t); filename = ['myTest_',S]
filename = 'myTest_2017-01-03T151105'
Преобразование между массивами datetime и массивами строк
Начиная в R2016b, можно использовать string функция, чтобы создать массив строк. Если массив строк содержит строки даты, то можно преобразовать массив строк в datetime массив с datetime функция. Точно так же можно преобразовать datetime массив к массиву строк с string функция.
Преобразуйте массив строк. MATLAB отображает строки в двойных кавычках. Для лучшей эффективности задайте формат входных строк даты как вход к datetime .
str = ["24-Oct-2016 11:58:17"; "19-Nov-2016 09:36:29"; "12-Dec-2016 10:09:06"]
str = 3×1 string array "24-Oct-2016 11:58:17" "19-Nov-2016 09:36:29" "12-Dec-2016 10:09:06"
t = datetime(str,'InputFormat','dd-MMM-yyyy HH:mm:ss')
t = 3×1 datetime array 24-Oct-2016 11:58:17 19-Nov-2016 09:36:29 12-Dec-2016 10:09:06
Преобразуйте datetime значение к строке.
t = datetime('25-Dec-2016 06:12:34'); str = string(t)
str = "25-Dec-2016 06:12:34"
Преобразование между векторами Datetime и даты
Вектор даты 1 6 вектор из чисел с двойной точностью. Элементы вектора даты с целочисленным знаком, за исключением элемента секунд, который может быть дробным. Временные стоимости описываются в 24-часовом обозначении. Нет никакой установки AM или PM.
Вектор даты располагается в следующем порядке:
year month day hour minute second
Следующий вектор даты представляет 10:45:07 24 октября 2012:
[2012 10 24 10 45 07]
Преобразуйте один или несколько векторов даты в datetime массив с помощью datetime функция:
t = datetime([2012 10 24 10 45 07])
t = datetime 24-Oct-2012 10:45:07
Вместо использования datevec чтобы извлечь компоненты значений datetime, используйте функции такой как year , month , и day вместо этого:
y = year(t)
y = 2012
В качестве альтернативы получите доступ к соответствующему свойству, такому как t.Year для значений года:
y = t.Year
y = 2012
Преобразование последовательных чисел даты в Datetime
Последовательный номер даты представляет календарную дату как номер дней, который передал начиная с установленной основной даты. В MATLAB последовательная дата номер 1 1 января, 0000.
Последовательное время может представлять части дней, начинающихся в полночь; например, 18:00 равняется 0,75 последовательным дням. Так вектор символов ’31-Oct-2003, 6:00 PM’ в MATLAB дата номер 731885.75.
Преобразуйте одно или несколько последовательных чисел даты в datetime массив с помощью datetime функция. Задайте тип номера даты, который преобразуется:
t = datetime(731885.75,'ConvertFrom','datenum')
t = datetime 31-Oct-2003 18:00:00
Преобразование массивов datetime в числовые значения
Некоторые функции MATLAB принимают типы числовых данных, но не значения datetime как входные параметры. Чтобы применить эти функции к вашим данным о дате и времени, преобразуйте значения datetime в значимые числовые значения. Затем вызовите функцию. Например, log функция принимает double входные параметры, но не datetime входные параметры. Предположим, что у вас есть datetime массив дат, охватывающих курс изыскания или эксперимента.
t = datetime(2014,6,18) + calmonths(1:4)
t = 1×4 datetime array 18-Jul-2014 18-Aug-2014 18-Sep-2014 18-Oct-2014
Вычтите значение источника. Например, значение источника может быть стартовым днем эксперимента.
dt = t - datetime(2014,7,1)
dt = 1×4 duration array 408:00:00 1152:00:00 1896:00:00 2616:00:00
dt duration массив. Преобразуйте dt к double массив значений в модулях лет, дней, часов, минут или секунд с помощью years дни часы минуты , или seconds функция, соответственно.
x = hours(dt)
x = 408 1152 1896 2616
Передайте double массив как вход к log функция.
y = log(x)
y = 6.0113 7.0493 7.5475 7.8694