You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将特定格式的时间范围字符串转换为datetime64[ns]类型的起止时间列表

如何将特定格式的时间范围字符串转换为datetime64[ns]类型的起止时间列表

这个需求我之前也碰到过,其实拆分几个步骤就能轻松搞定,咱们一步步来解决你提到的三个问题:

第一步:拆分时间范围字符串

你观察得没错,首先得把包含起止时间的长字符串拆成两个独立的时间字符串。因为你的格式里是用空格-空格分隔的,直接用split(' - ')就能拆分,比如:

time_range = 'Mar 24, 2019 12:45 AM - Apr 25, 2019 12:44 AM'
start_str, end_str = time_range.split(' - ')
# 得到 start_str = 'Mar 24, 2019 12:45 AM',end_str = 'Apr 25, 2019 12:44 AM'

第二步:解析单个时间字符串

针对你提到的「月份是三个字母」「12小时制时间」这两个问题,Python的datetime模块或者pandas都能完美处理:

  • 用%b匹配三个字母的英文月份缩写(比如Mar对应3月)
  • 用%I处理12小时制的小时数(01-12)
  • 用%p识别AM/PM标识

这里推荐用pandas的to_datetime方法,它会直接返回datetime64[ns]类型的Timestamp对象,非常方便:

import pandas as pd

dt_format = '%b %d, %Y %I:%M %p'
start_dt = pd.to_datetime(start_str, format=dt_format)
end_dt = pd.to_datetime(end_str, format=dt_format)

如果不用pandas,用原生datetime加numpy也可以:

from datetime import datetime
import numpy as np

start_datetime = datetime.strptime(start_str, dt_format)
end_datetime = datetime.strptime(end_str, dt_format)
# 转换为datetime64[ns]
start_dt64 = np.datetime64(start_datetime)
end_dt64 = np.datetime64(end_datetime)

第三步:封装成函数批量处理

把上面的逻辑封装成函数,就能批量处理所有时间范围字符串了:

import pandas as pd

def convert_time_range(time_range_str):
    start_str, end_str = time_range_str.split(' - ')
    dt_format = '%b %d, %Y %I:%M %p'
    start_dt = pd.to_datetime(start_str, format=dt_format)
    end_dt = pd.to_datetime(end_str, format=dt_format)
    return [start_dt, end_dt]

# 测试单个例子
test_range = 'Mar 24, 2019 12:45 AM - Apr 25, 2019 12:44 AM'
print(convert_time_range(test_range))
# 输出:[Timestamp('2019-03-24 00:45:00'), Timestamp('2019-04-25 00:44:00')]

# 批量处理多个时间范围
time_ranges_list = [
    'Mar 24, 2019 12:45 AM - Apr 25, 2019 12:44 AM',
    'Jan 01, 2020 09:30 PM - Jan 02, 2020 08:15 AM',
    'Jun 15, 2021 12:00 PM - Jun 15, 2021 12:00 AM'
]
all_results = [convert_time_range(tr) for tr in time_ranges_list]

需要注意的是,12:00 AM会被正确解析为当天的0点,12:00 PM会被解析为当天的12点,完全符合时间逻辑。

备注:内容来源于stack exchange,提问作者mathim1881

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.22 11:22:59