Source code for pyrfu.pyrf.unix2datetime64

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

# Built-in imports
from typing import Any, Union

# 3rd party imports
import numpy as np
from numpy.typing import NDArray

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


[docs]def unix2datetime64(time: Union[list[float], NDArray[Any]]) -> NDArray[np.datetime64]: r"""Converts unix time to datetime64 in ns units. Parameters ---------- time : numpy.ndarray Time in unix format. Returns ------- time_datetime64 : numpy.ndarray Time in datetime64 format. Raises ------ TypeError If time is not a list or numpy.ndarray. See Also -------- pyrfu.pyrf.datetime642unix """ # Check input type if isinstance(time, (list, np.ndarray)): time_array = np.array(time) else: raise TypeError("time must be list or numpy.ndarray") # Make sure that time is in ns format time_unix = (time_array * 1e9).astype(np.int64) # Convert to unix time_datetime64 = time_unix.astype("datetime64[ns]") return time_datetime64