numpy.datetime_as_string#

numpy.datetime_as_string(arr, единица=None, часовой пояс='naive', приведение типов='same_kind')#

Преобразовать массив дат и времени в массив строк.

Параметры:
arrarray_like из datetime64

Массив временных меток UTC для форматирования.

единицаstr

Один из None, 'auto' или единица времени datetime.

часовой пояс{‘naive’, ‘UTC’, ‘local’} или tzinfo

Информация о часовом поясе для использования при отображении даты и времени. Если 'UTC', заканчивается Z для указания времени UTC. Если 'local', преобразуется в локальный часовой пояс, и добавляется суффикс со смещением часового пояса +-####. Если объект tzinfo, то действовать как с 'local', но использовать указанный часовой пояс.

приведение типов{'no', 'equiv', 'safe', 'same_kind', 'unsafe'}

Приведение для разрешения при изменении между единицами даты и времени.

Возвращает:
str_arrndarray

Массив строк той же формы, что и arr.

Примеры

>>> import numpy as np
>>> from zoneinfo import ZoneInfo
>>> d = np.arange('2002-10-27T04:30', 4*60, 60, dtype='M8[m]')
>>> d
array(['2002-10-27T04:30', '2002-10-27T05:30', '2002-10-27T06:30',
       '2002-10-27T07:30'], dtype='datetime64[m]')

Установка часового пояса в UTC показывает ту же информацию, но с суффиксом Z

>>> np.datetime_as_string(d, timezone='UTC')
array(['2002-10-27T04:30Z', '2002-10-27T05:30Z', '2002-10-27T06:30Z',
       '2002-10-27T07:30Z'], dtype='

Обратите внимание, что мы выбрали даты, пересекающие границу перехода на летнее время. Передача ZoneInfo объект выведет соответствующее смещение

>>> np.datetime_as_string(d, timezone=ZoneInfo('US/Eastern'))
array(['2002-10-27T00:30-0400', '2002-10-27T01:30-0400',
       '2002-10-27T01:30-0500', '2002-10-27T02:30-0500'], dtype='

Передача единицы измерения изменит точность

>>> np.datetime_as_string(d, unit='h')
array(['2002-10-27T04', '2002-10-27T05', '2002-10-27T06', '2002-10-27T07'],
      dtype='
>>> np.datetime_as_string(d, unit='s')
array(['2002-10-27T04:30:00', '2002-10-27T05:30:00', '2002-10-27T06:30:00',
       '2002-10-27T07:30:00'], dtype='

‘casting’ может использоваться для указания, можно ли изменять точность

>>> np.datetime_as_string(d, unit='h', casting='safe')
Traceback (most recent call last):
    ...
TypeError: Cannot create a datetime string as units 'h' from a NumPy
datetime with units 'm' according to the rule 'safe'