时间转换

介绍

将中文时间描述转换为三种标准的时间格式的时间字符串:1) 时间点(timestamp,表示某一具体时间时间描述); 2) 时间量(timedelta,表示时间的增量的时间描述); 3)时间区间(timespan,大于一天的有具体起始和结束时间点的时间描述),以方便处理。在转换时以尽量保留原始时间描述中所含信息为原则。

URL
http://api.bosonnlp.com/time/analysis
HTTP Method
POST, GET
HTTP Header
Content-Type
application/json
Accept
application/json
X-Token
YOUR_API_TOKEN (需要替换成您自己的 Token)
HTTP query string 参数
pattern
必选参数,需要转换的中文时间描述。
basetime
可选的参数,时间描述时的基准时间戳。如果不传,使用服务器当前的GMT+8时间。
HTTP 请求 Body
空。
HTTP 返回 Body
返回数据为一个JSON格式的字典,时间格式类型字段中包含一种下表中的返回值,并在type标记中返回相应的时间格式类型。
时间格式类型 type标记 数据格式
说明
时间点(timestamp) timestamp string
时间点,ISO8601格式的时间
字符串
时间量(timedelta) timedelta string
时间量,格式为”x
day,HH:MM:SS”或”HH:MM:SS”
的字符串
时间区间(timespan) timespan_0 list
表示时间点组成的时间区间结
果,格式为[timestamp,
timestamp]表示时间区间的起
始和结束时间
时间区间(timespan) timespan_1 list
时间区间结果,格式为
[timedelta, timedelta],表
示时间区间的起始和结束时间
N/A “” string
不能识别,返回空字符串

CURL 调用示例

$ curl -X POST \
    -H "X-Token: YOUR_API_TOKEN" \
    http://api.bosonnlp.com/time/analysis?pattern=2013年二月二十八日下午四点三十分二十九秒
    {"timestamp": "2013-02-28 16:30:29", "type": "timestamp"}

Python 调用示例

# -*- coding: utf-8 -*-
from __future__ import print_function, unicode_literals

import time

import requests

TIME_URL = 'http://api.bosonnlp.com/time/analysis'

pattern = '2013年二月二十八日下午四点三十分二十九秒'
current_time = int(time.time())
params = {'pattern': pattern, 'basetime': current_time}
headers = {'X-Token': 'YOUR_API_TOKEN'}
resp = requests.post(TIME_URL, headers=headers, params=params)

print(resp.json())

运行

$ python time_api_example.py
{u'timestamp': u'2013-02-28 16:30:29', u'type': u'timestamp'}

Python SDK 调用示例

# -*- coding: utf-8 -*-
from __future__ import print_function, unicode_literals

import datetime
from bosonnlp import BosonNLP

# 注意:在测试时请更换为您的API Token
nlp = BosonNLP('YOUR_API_TOKEN')

result = nlp.convert_time(
    "2013年二月二十八日下午四点三十分二十九秒",
    datetime.datetime.today())

print(result)

详细的 Python SDK 时间转换文档请看 这里