Source code for pyrfu.pyrf.timevec2iso8601

#!/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 timevec2iso8601(time): r"""Convert time vector into ISO 8601 format YYYY-MM-DDThh:mm:ss.mmmuuunnn. Parameters ---------- time : ndarray Time vector Returns ------- time_iso8601 : ndarray Time in ISO 8601 format. See Also -------- pyrfu.pyrf.iso86012timevec """ time = np.atleast_2d(np.array(time)) time = np.hstack([time, np.zeros((len(time), 9 - time.shape[1]))]) time_iso8601 = [] for t_ in time.astype(np.int64): ye_mo_da_ = f"{t_[0]:04}-{t_[1]:02}-{t_[2]:02}" # YYYY-MM-DD ho_mi_se_ = f"{t_[3]:02}:{t_[4]:02}:{t_[5]:02}" # hh:mm:ss ms_us_ns_ = f"{t_[6]:03}{t_[7]:03}{t_[8]:03}" # mmmuuunnn # Time as ISO 8601 string 'YYYY-MM-DDThh:mm:ss.mmmuuunnn' time_iso8601.append(f"{ye_mo_da_}T{ho_mi_se_}.{ms_us_ns_}") time_iso8601 = np.array(time_iso8601) return time_iso8601