Source code for pyrfu.pyrf.datetime642iso8601

#!/usr/bin/env python
# -*- coding: utf-8 -*-

# 3rd party imports
import numpy as np

__author__ = "Louis Richard"
__email__ = "louisr@irfu.se"
__copyright__ = "Copyright 2020-2023"
__license__ = "MIT"
__version__ = "2.4.2"
__status__ = "Prototype"


[docs]def datetime642iso8601(time): r"""Convert datetime64 in ns units to ISO 8601 time format . Parameters ---------- time : ndarray Time in datetime64 in ns units. Returns ------- time_iso8601 : ndarray Time in ISO 8601 format. See Also -------- pyrfu.pyrf.datetime642iso8601 """ if isinstance(time, np.datetime64): time = np.array([time]) time_datetime64 = time.astype("datetime64[ns]") elif isinstance(time, (list, np.ndarray)) and isinstance(time[0], np.datetime64): time_datetime64 = time.astype("datetime64[ns]") else: raise TypeError("time must be numpy.datetime64 or array_like") # Convert to string time_iso8601 = time_datetime64.astype(str) time_iso8601 = np.atleast_1d(np.squeeze(np.stack([time_iso8601]))) return time_iso8601