convertTo

Преобразуйте datetime значения к числовым представлениям

Описание

пример

X = convertTo(D,dateType) преобразует datetime значения в D к числовому представлению, заданному dateType и возвращает числовой массив. Например, если dateType 'posixtime'то convertTo преобразует каждый элемент D к номеру секунд, которые протекли с эпохи от 1 января 1970, 0: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-битные целые числа. В зависимости от этих требований выход может иметь doubleuint64, или int64 тип данных.

Значение dateType

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

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

'excel'

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

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

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

double

'excel1904'

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

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

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

double

'juliandate'

Номер дней с полудня UTC 24 ноября 4714 BCE в преждевременном Григорианском календаре, представляя Юлианскую дату. Эта опция эквивалентна juliandate функция.

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

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

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

double

'modifiedjuliandate'

Номер дней с полуночи UTC 17 ноября 1858, представляя Модифицированную Юлианскую дату. Эта опция эквивалентна juliandate функция.

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

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

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

double

'posixtime'

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

Время Unix, также известное как время Эпохи UNIX или время POSIX, является системой для измерения времени относительно эпохи 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 января 0000 в преждевременном календаре ISO.

double

'ntp'

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

uint64

'.net'

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

uint64

'ntfs'

Количество "тактов системных часов" с 1 января 1601 0: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, 0:00:00 UTC.

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

Введенный в R2018b