2 个版本
0.11.1 | 2020 年 6 月 8 日 |
---|---|
0.11.0 | 2020 年 6 月 8 日 |
#2576 在 命令行工具
19KB
299 行
Since
Since 是什么?
14:30:29 risto@GALACTICA /home/risto>
↪ since 13:00
1 hours and 30 minutes
使用 Cargo 进行安装
cargo install since
现在你应该在 Linux 系统的 ~/.cargo/bin/since
中找到了二进制文件。
用于计算时间差的语义 CLI 工具
↪ since -h
since v0.11.0
Fetch time difference between <from> and <to>.
If no parameters are given, will return time since UNIX epoch.
Missing <to> argument will always default to current datetime.
All subcommands share exactly the same functionality and arguments as base
command, just filtering the output to different format.
All values are generally rounded down.
USAGE:
since [ARGS]
since <SUBCOMMAND>
FLAGS:
-h, --help Prints help information
-V, --version Prints version information
ARGS:
<from> Start time or date.
<to> End time or date, for custom range. Default is current datetime.
SUBCOMMANDS:
years Print the output in years (approx)
months Print the output in months (approx)
weeks Print the output in weeks (approx)
days Print the output in days
hours Print the output in hours
minutes Print the output in minutes
seconds Print the output in seconds
支持的日期和时间格式
所有格式都是硬编码的,并按照“有什么意义”的宽松标准选择,目标是直观,而不是详尽(目前还不是)。
时间
HH:MM
HH:MM:SS
日期
YYYY-MM-DD
YYYY/MM/DD
YYYY.MM.DD
DD-MM-YYYY
DD/MM/YYYY
DD.MM.YYYY
DD MONTH YYYY
(例如 Dec 或 December)YYYY MONTH DD
日期时间
[date] [time]
[date]T[time]
功能说明
- 尽管有神圣的 UI 语义,但也支持未来值。所有值始终是绝对的距离,因此不应出现负值。
- 所有输出(特别是周/月/年)通常应视为“直观近似”,因为
when has 1 $time_unit passed
的定义存在歧义。 - 所有计算都是在本地系统时区中完成的
- 空格分隔的参数必须始终用引号括起来
- 所有原始时间(例如 12:15)始终解释为“今天”
示例
↪ date
Mon 8 Jun 10:12:14 EEST 2020
# The original usecase, shorthand time calculations
↪ since 7:00
3 hours and 12 minutes
↪ since 24.12.2019
6 months
↪ since 24-12-2012T16:00:00
8 years
# Explicit time output formats
↪ since hours 7:00
3
↪ since minutes 7:00
192
↪ since days 7:00
0
↪ since days 24.12.2019
166
↪ since months 24.12.2019
6
↪ since years 24.12.2002
18
# Custom time ranges with explicit second parameter
↪ since minutes 14:00 23:45
585
# Mixing parameter formats
↪ since hours "24 December 2019 18:15:30" 2020-6-20
4286
# Unix epochs
↪ since
1591600334
↪ since minutes
26526672
↪ since years
50
构建
git clone https://github.com/ryyst/since.git
cd since
cargo build --release
现在你可以在 ./target/release/since
中找到二进制文件。
待办事项
- 测试
- 改进文档
- 更精确的年/月计算
- 十进制输出的标志
- “猜测”输出的详尽时间分数
- 例如,“1 年,2 个月,3 天,5 小时和 15 分钟”
依赖关系
~2MB
~24K SLoC