跳转到主要内容

多语言日期和日期范围解析工具

项目描述

爱卡

关于

爱卡提供多语言日期和日期范围解析工具。它基于 arbitrary-dateparserDateRangeParser,旨在实现类似于 DWIM 的便利性和实用性。

目前,它支持英语和德语,并欢迎其他语言的贡献。

用法

from aika import DaterangeExpression

dr = DaterangeExpression()
print("Range: ", dr.parse("Sat - Tue"))
print("Single:", dr.parse_single("1. Juli"))
Range:  (datetime(2023, 8, 26, 0, 0), datetime(2023, 8, 29, 23, 59, 59, 999999))
Single: datetime(2023, 7, 1, 0, 0)

示例表达式

爱卡理解所有类型的日期/时间范围表达式,如它所基于的包提供的,并且也可以与单个日期一起工作。本节列举了一些示例。

arbitrary-dateparser » 英语

  • now
  • today
  • last week to next friday
  • tomorrow - next week
  • next month
  • december
  • July to December
  • jul 1 to jul 7
  • 周六 - 周二
  • 3月
  • 2024-08-20

任意日期解析器 » 德语

  • 现在
  • 今天
  • 上周至下周五
  • 明天 - 下周
  • 下个月
  • 十二月
  • 七月至十二月
  • jul 1 to jul 7
  • 从周六至周二
  • 3月
  • 2024年8月20日
  • 20.8.2024
  • 20.08.2024

DateRangeParser » 英语

  • 7月1日
  • 2024年3月
  • July to December
  • 2010年6月27日至29日
  • 5月30日至8月9日
  • 1980年1月3日至2013年1月2日
  • 1月23日(星期三)-> 2013年2月16日(星期六)
  • 5月29日(星期二)- 2012年6月2日(星期六)
  • 7月1日至7月9日
  • 7月1日至7月9日
  • 1988年7月14日
  • 2011年1月 - 2014年3月
  • 6月7日星期二07:00 - 7月17日17:30
    注意:当前将忽略时间。

DateRangeParser » 德语

  • 7月1日
  • 7月1日至7月7日
  • 2024年3月
  • 7月至12月
  • 从2024年3月3日至3月9日

高级用法

通过指定default_start_timedefault_end_time参数,当日期范围边界本应为“一天开始”(00:00)或“一天结束”(23:59)时,它们将自动对齐到给定的时间。

import datetime as dt
from aika import DaterangeExpression

dr = DaterangeExpression(
    default_start_time=dt.time(hour=9),
    default_end_time=dt.time(hour=17),
)
dr.parse("Sat - Tue")
(datetime(2023, 8, 26, 9, 0), datetime(2023, 8, 29, 17, 0))

故障排除

如果您看到类似locale.Error: unsupported locale setting的错误消息,

locale.setlocale(locale.LC_ALL, "de_DE.UTF-8")

则需要生成德语地区设置。

apt-get update
apt-get install --yes tzdata locales
locale-gen de_DE.UTF-8

设置

获取源代码并安装开发沙盒。

git clone https://github.com/panodata/aika
cd aika
python3 -m venv .venv
source .venv/bin/activate
pip install --editable='.[develop,docs,test]'

运行linters和软件测试

source .venv/bin/activate
poe check

词源

Aika在芬兰语中意为“时间”。

致谢

由以下组织支持

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误记录 StatusPage StatusPage 状态页面