🔍 Code Extractor

function parse_datetime_v1

Maturity: 38

Converts various date representations (string, integer, pandas Timestamp) into a numpy datetime64 object using pandas datetime parsing capabilities.

File:
/tf/active/vicechatdev/patches/util.py
Lines:
2085 - 2091
Complexity:
simple

Purpose

This function provides a unified interface for parsing different date formats into a standardized numpy datetime64 format. It leverages pandas' flexible date parsing to handle strings (like '2023-01-15', 'Jan 15 2023'), integers (timestamps), and pandas Timestamp objects, converting them all to numpy's datetime64 type for consistent datetime handling across an application.

Source Code

def parse_datetime(date):
    """
    Parses dates specified as string or integer or pandas Timestamp
    """
    if pd is None:
        raise ImportError('Parsing dates from strings requires pandas')
    return pd.to_datetime(date).to_datetime64()

Parameters

Name Type Default Kind
date - - positional_or_keyword

Parameter Details

date: The date to be parsed. Can be a string representation of a date (e.g., '2023-01-15', 'January 15, 2023'), an integer timestamp (Unix epoch time), or a pandas Timestamp object. The function relies on pandas.to_datetime() for parsing, so any format supported by that function is acceptable.

Return Value

Returns a numpy datetime64 object representing the parsed date. This is a numpy scalar datetime type that provides efficient storage and operations for datetime values. The specific resolution (e.g., datetime64[ns] for nanoseconds) depends on pandas' default behavior.

Dependencies

  • pandas
  • numpy

Required Imports

import pandas as pd

Conditional/Optional Imports

These imports are only needed under specific conditions:

import pandas as pd

Condition: Required for all uses of this function. The function will raise ImportError if pandas is not available.

Required (conditional)

Usage Example

import pandas as pd
import numpy as np

def parse_datetime(date):
    if pd is None:
        raise ImportError('Parsing dates from strings requires pandas')
    return pd.to_datetime(date).to_datetime64()

# Example 1: Parse string date
date_str = '2023-01-15'
result1 = parse_datetime(date_str)
print(result1)  # Output: 2023-01-15T00:00:00.000000000

# Example 2: Parse integer timestamp (seconds since epoch)
timestamp = 1673740800
result2 = parse_datetime(timestamp)
print(result2)

# Example 3: Parse pandas Timestamp
import pandas as pd
ts = pd.Timestamp('2023-06-20 14:30:00')
result3 = parse_datetime(ts)
print(result3)  # Output: 2023-06-20T14:30:00.000000000

# Example 4: Parse various string formats
dates = ['2023-01-15', 'Jan 15 2023', '15/01/2023']
for date in dates:
    parsed = parse_datetime(date)
    print(f'{date} -> {parsed}')

Best Practices

  • Always ensure pandas is installed before calling this function, as it will raise an ImportError if pandas is not available
  • Be aware that the function converts to numpy datetime64, which has nanosecond precision by default and may have limitations for dates far in the past or future
  • When parsing string dates, ambiguous formats (like '01/02/2023') may be interpreted differently based on pandas' default locale settings
  • Consider wrapping calls to this function in try-except blocks to handle parsing errors for invalid date strings
  • The function does not preserve timezone information explicitly; timezone-aware timestamps will be converted based on pandas' default behavior
  • For large-scale date parsing operations, consider using pandas.to_datetime() directly on arrays/series for better performance

Similar Components

AI-powered semantic similarity - components with related functionality:

  • function dt_to_int 65.8% similar

    Converts various datetime types (pandas, numpy, cftime, Python datetime) to an integer timestamp with a specified time unit.

    From: /tf/active/vicechatdev/patches/util.py
  • function dt64_to_dt 62.3% similar

    Converts a NumPy datetime64 object to a Python datetime.datetime object by calculating seconds since Unix epoch.

    From: /tf/active/vicechatdev/patches/util.py
  • function parse_datetime_selection 61.8% similar

    Converts string or datetime-like selection specifications into parsed datetime objects, handling single values, slices, and collections.

    From: /tf/active/vicechatdev/patches/util.py
  • function parse_datetime 60.6% similar

    Parses a datetime string in YYYY-MM-DD HH:MM:SS format into a Python datetime object, returning None if parsing fails.

    From: /tf/active/vicechatdev/CDocs/utils/__init__.py
  • function isdatetime 57.2% similar

    Determines whether a given value (array or scalar) is a recognized datetime type, checking both NumPy datetime64 arrays and Python datetime objects.

    From: /tf/active/vicechatdev/patches/util.py
← Back to Browse