#命令行 #字符串 #日期 #不同 #接口 #命令行界面 #epochs

app epochs-cli

将命令行中给出的字符串与不同的epochs进行比较

5 个版本 (3 个重大更新)

0.5.0 2022年9月2日
0.4.1 2022年6月26日
0.4.0 2022年6月26日
0.3.0 2022年6月24日
0.2.0 2020年1月19日

#122 in #不同

MPL-2.0 许可协议

16KB
303 代码行

epochs-cli

epochs crate 的命令行界面

它从命令行获取字符串,并尝试使用epochs crate所知的各种方法将它们解释为日期。

使用以下命令安装

$ cargo install epochs-cli

这将安装一个名为 epochs 的二进制文件。

$ epochs --help
epochs-cli 0.4.1
Tim Heaney <[email protected]>
Check strings given on the command line against different epochs.

USAGE:
    epochs [OPTIONS] [CANDIDATES]...

ARGS:
    <CANDIDATES>...    Strings to test for epochness

OPTIONS:
    -d, --debug
            Activate debug mode

    -h, --help
            Print help information

        --max <MAX>
            Don't report dates after this [default: 2100-12-31]

        --min <MIN>
            Don't report dates before this [default: 2000-01-01]

    -o, --output-format <OUTPUT_FORMAT>
            Desired format for output [default: text] [possible values: json, json-pretty, text]

    -v, --verbose
            Verbose mode (-v, -vv, -vvv, etc.)

    -V, --version
            Print version information

给它一个数字,它将尝试将其解释为日期。

$ epochs 1234567890

1234567890 Decimal
  cocoa => 2040-02-14T23:31:30
  google calendar => 2007-03-16T23:31:30
  unix => 2009-02-13T23:31:30

使用 --max 和 --min 选项来更改输出量。

$ epochs 1234567890 --min=1900-01-01 --max=2020-12-31

1234567890 Decimal
  apfs => 1970-01-01T00:00:01.234567890
  google calendar => 2007-03-16T23:31:30
  java => 1970-01-15T06:56:07.890
  mozilla => 1970-01-01T00:20:34.567890
  unix => 2009-02-13T23:31:30

1234567890 Hexadecimal
  apfs => 1970-01-01T00:01:18.187493520
  java => 1972-06-23T22:44:53.520
  mozilla => 1970-01-01T21:43:07.493520

您可以一次给出多个要搜索的内容。

$ epochs 39857.980209 1234567890 33c41a44-6cea-11e7-907b-a6006ad3dba0

39857.980209 Float
  icq => 2009-02-13T23:31:30.057

1234567890 Decimal
  cocoa => 2040-02-14T23:31:30
  google calendar => 2007-03-16T23:31:30
  unix => 2009-02-13T23:31:30

33c41a44-6cea-11e7-907b-a6006ad3dba0 Uuid
  uuid_v1 => 2017-07-20T01:24:40.472634

如果您更喜欢JSON格式,它可以使用 serde 来提供输出。

$ epochs 39857.980209 1234567890 33c41a44-6cea-11e7-907b-a6006ad3dba0 --output-format=json-pretty
[
  {
    "source": "39857.980209",
    "viewed_as": "Float",
    "epochs": {
      "icq": "2009-02-13T23:31:30.057"
    }
  },
  {
    "source": "1234567890",
    "viewed_as": "Decimal",
    "epochs": {
      "unix": "2009-02-13T23:31:30",
      "cocoa": "2040-02-14T23:31:30",
      "google calendar": "2007-03-16T23:31:30"
    }
  },
  {
    "source": "1234567890",
    "viewed_as": "Hexadecimal",
    "epochs": {}
  },
  {
    "source": "33c41a44-6cea-11e7-907b-a6006ad3dba0",
    "viewed_as": "Uuid",
    "epochs": {
      "uuid_v1": "2017-07-20T01:24:40.472634"
    }
  }
]

它还将检查 UUID版本6和7 时间戳。这些重用了 uuid_v1java 时间戳,来自 epochs crate。

$ epochs 1EC9414C-232A-6B00-B3C8-9E6BDECED846 017F22E2-79B0-7CC3-98C4-DC0C0C07398F

1EC9414C-232A-6B00-B3C8-9E6BDECED846 Uuid
  uuid_v6 => 2022-02-22T19:22:22

017F22E2-79B0-7CC3-98C4-DC0C0C07398F Uuid
  uuid_v7 => 2022-02-22T19:22:22

它还将检查 ULIDs。这些也有 java 时间戳,但一切都是 base32 编码的。

$ epochs 01FWHE4YDGFK1SHH6W1G60EECF

01FWHE4YDGFK1SHH6W1G60EECF Ulid
  ulid => 2022-02-22T19:22:22

依赖项

~8.5MB
~155K SLoC