exponenta event banner

convertTo

Новообращенный datetime значения для числовых представлений

Описание

пример

X = convertTo(D,dateType) преобразует datetime значения в D в числовое представление, указанное dateType и возвращает числовой массив. Например, если dateType является 'posixtime', то convertTo преобразует каждый элемент D до количества секунд, прошедших с эпохи 1 января 1970 года, 00:00:00 UTC.

Все числовые представления описывают даты и время относительно момента времени, называемого эпохой. Компьютеры обычно измеряют время по количеству секунд или тактов с момента указанной эпохи.

пример

X = convertTo(D,'epochtime',Name,Value) задает период и число тактов в секунду с помощью аргументов пары имя-значение. Например, если указать эпоху как 'Epoch','2001-01-01', затем каждое значение в X представляет собой количество секунд до или после полуночи 1 января 2001 года.

Примеры

свернуть все

Создание массива datetime значения.

D = datetime(2019,10:12,1,12,0,0)
D = 1x3 datetime
   01-Oct-2019 12:00:00   01-Nov-2019 12:00:00   01-Dec-2019 12:00:00

Новообращенный D в массив значений двойной точности, представляющих номера дат Excel. (Для отображения всех цифр номеров дат установите числовой формат отображения в longg.)

format longg
X = convertTo(D,'excel')
X = 1×3

                   43739.5                   43770.5                   43800.5

Новообращенный D в массив, представляющий даты и время как время .NET. Поскольку время .NET должно быть беззнаковым 64-разрядным целым числом, convertTo возвращает массив, имеющий uint64 тип данных.

X = convertTo(D,'.net')
X = 1x3 uint64 row vector

   637055280000000000   637082064000000000   637107984000000000

Создать datetime массив. Укажите, что часовой пояс является зоной для Токио.

D = datetime(2019,10:12,1,12,0,0,'TimeZone','Asia/Tokyo')
D = 1x3 datetime
   01-Oct-2019 12:00:00   01-Nov-2019 12:00:00   01-Dec-2019 12:00:00

Новообращенный D. Чтобы представить время как количество миллисекунд, прошедших с 1 января 2001 года, укажите Epoch и TicksPerSecond аргументы пары имя-значение. Можно указать эпоху как datetime значение или текст, отформатированный для указания даты и времени. При указании 'epochtime', выходные данные представляют собой массив подписанных 64-разрядных целых чисел.

X = convertTo(D,'epochtime','Epoch','2001-01-01','TicksPerSecond',1000)
X = 1x3 int64 row vector

   591624000000   594302400000   596894400000

Если часовой пояс D не указан, то convertTo функция обрабатывает элементы D как время UTC при указании 'epochtime'.

Входные аргументы

свернуть все

Даты и время ввода, указанные как datetime массив.

Тип выходного числового представления, указанного как значение в таблице.

Значение dateType определяет тип данных выходного массива. Для некоторых числовых представлений требуются беззнаковые или подписанные 64-разрядные целые числа. В зависимости от этих требований выходные данные могут иметь double, uint64, или int64 тип данных.

Значение dateType

Вывод числового представления

Тип выходных данных

'excel'

Число дней с момента 0-Jan-1900, представляющее номер даты Excel ®. Эта опция эквивалентна exceltime функция.

Примечание.Номера дат Excel округляются до ближайшей микросекунды.

Примечание: Excel ошибочно предполагает, что 1900 год является високосным. Поэтому при вычислении номеров дат Excel имеется разрыв в один дополнительный день между 28 февраля 1900 года и 1 марта 1900 года.

double

'excel1904'

Число дней с момента 0-Jan-1904, представляющее номер даты Excel. Эта опция эквивалентна exceltime функция.

Примечание.Номера дат Excel округляются до ближайшей микросекунды.

Примечание: Excel ошибочно предполагает, что 1900 год является високосным. Поэтому при вычислении номеров дат Excel имеется разрыв в один дополнительный день между 28 февраля 1900 года и 1 марта 1900 года.

double

'juliandate'

Количество дней с полудня UTC 24-Nov-4714 BCE в пролептическом григорианском календаре, представляющем юлианскую дату. Эта опция эквивалентна juliandate функция.

Примечание: Если часовой пояс D не указан, то convertTo обрабатывает значения в D по времени UTC, а не по местному времени. Для представления локального времени укажите часовой пояс с помощью TimeZone имущество D перед вызовом convertTo функция.

Пример: Преобразовать D используя часовой пояс для Токио.

D.TimeZone = 'Asia/Tokyo';
X = convertTo(D,'juliandate')

double

'modifiedjuliandate'

Количество дней с полуночи UTC 17-Nov-1858, представляющих измененную юлианскую дату. Эта опция эквивалентна juliandate функция.

Примечание: Если часовой пояс D не указан, то convertTo обрабатывает значения в D по времени UTC, а не по местному времени. Для представления локального времени укажите часовой пояс с помощью TimeZone имущество D перед вызовом convertTo функция.

Пример: Преобразовать D используя часовой пояс для Токио.

D.TimeZone = 'Asia/Tokyo';
X = convertTo(D,'modifiedjuliandate')

double

'posixtime'

Количество секунд с 1-Jan-1970 00:00:00 UTC, момент времени, известный как эпоха Unix. Эта опция эквивалентна posixtime функция.

Unix time, также известный как UNIX Epoch time или POSIX time, является системой для измерения времени по отношению к эпохе Unix. (Время Unix игнорирует високосные секунды и поэтому не действительно представляет UTC.)

Примечание: Если часовой пояс D не указан, то convertTo обрабатывает значения в D по времени UTC, а не по местному времени. Для представления локального времени укажите часовой пояс с помощью TimeZone имущество D перед вызовом convertTo функция.

Пример: Преобразовать D, уточняя, что его часовой пояс является часовым поясом для Токио.

D.TimeZone = 'Asia/Tokyo';
X = convertTo(D,'posixtime')

double

'yyyymmdd'

Даты как числовые значения YYYYMMDD. Например, 20140402 представляет 2 апреля 2014 года.

double

'datenum'

Число дней с момента 0-Jan-0000 в пролептическом календаре ISO.

double

'ntp'

Количество отметок времени с 1-Jan-1900 00:00:00 UTC, представляющих временную метку протокола сетевого времени (NTP), где каждая отметка времени равна 2 ^ -32 секундам.

uint64

'.net'

Количество «тактовых отметок» с 1-Jan-0001 00:00:00 UTC, представляющих временную метку Microsoft ® .NET, где каждый такт равен 100 нс.

uint64

'ntfs'

Количество «тактовых отметок» с 1-Jan-1601 00:00:00 UTC, представляющих временную метку NTFS, где каждый такт равен 100 нс.

uint64

'epochtime'

Число секунд после указанной эпохи. Используйте эту опцию с 'Epoch' и 'TicksPerSecond' аргументы пары имя-значение.

Примечание: Если часовой пояс D не указан, то convertTo обрабатывает значения в D по времени UTC, а не по местному времени. Для представления локального времени укажите часовой пояс с помощью TimeZone имущество D перед вызовом convertTo функция.

Пример: Укажите часовой пояс D. Затем перевести его в число секунд, прошедших с 1 января 2001 года.

D.TimeZone = 'Asia/Tokyo';
X = convertTo(D,'epochtime','Epoch','2001-01-01')

int64

Аргументы пары «имя-значение»

Укажите дополнительные пары, разделенные запятыми Name,Value аргументы. Name является именем аргумента и Value - соответствующее значение. Name должен отображаться внутри кавычек. Можно указать несколько аргументов пары имен и значений в любом порядке как Name1,Value1,...,NameN,ValueN.

Пример: convertTo(D,'epochtime','Epoch','2001-01-01','TicksPerSecond',1000) возвращает число миллисекунд с начала 1 января 2001 года.

Точка, используемая для измерения времени, указанная как разделенная запятыми пара, состоящая из 'Epoch' и datetime скаляр, вектор символов или строковый скаляр.

Если значение 'Epoch' является вектором символа или скаляром строки, то он должен представлять дату и время в формате, который datetime функция распознает (например, '2001-01-01' представляющая 1 января 2001 года).

Значением по умолчанию является эпоха Unix, представляющая 1 января 1970 года, 00:00:00 UTC.

Щелкните галочки в секунду, указанные как разделенная запятыми пара, состоящая из 'TicksPerSecond' и числовой скаляр.

Представлен в R2018b