Source code for pyrfu.pyrf.datetime642unix
#!/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 datetime642unix(time):
r"""Converts datetime64 in ns units to unix time.
Parameters
----------
time : ndarray
Time in datetime64 format.
Returns
-------
time_unix : ndarray
Time in unix format.
See Also
--------
pyrfu.pyrf.unix2datetime64
"""
# Make sure that time is in ns format
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 unix
time_unix = time_datetime64.astype(np.int64) / 1e9
return time_unix