Browse Source

tweak --help menu

tags/v1.5.1
Jonathan Strong 1 year ago
parent
commit
633196e6dc
3 changed files with 58 additions and 9 deletions
  1. +1
    -1
      Cargo.toml
  2. +29
    -5
      README.md
  3. +28
    -3
      src/main.rs

+ 1
- 1
Cargo.toml View File

@@ -1,6 +1,6 @@
[package]
name = "utcnow"
version = "1.5.0"
version = "1.5.1"
authors = ["Jonathan Strong <jonathan.strong@gmail.com>"]
edition = "2021"



+ 29
- 5
README.md View File

@@ -1,21 +1,45 @@
```console
utcnow 1.0.0
Jonathan Strong <jonathan.strong@gmail.com>
$ utcnow -h

utcnow 1.5.0
Jonathan Strong <jonathan.strong@gmail.com>
current time in utc with non-cryptic interface.

for your own safety and well-being, local time functionality is not provided.
$ utcnow
>> 2023-08-31T18:20:06.190019513Z

$ utcnow -R 1693505148834000000
>> 2023-08-31T18:05:48.834000000Z

$ utcnow -U 2023-08-31T18:05:48.834000000Z
>> 1693505148834000000

default output format is rfc3339 with trailing 'Z', e.g. '1999-12-31T23:59:59.999999999Z'
$ utcnow --unix
>> 1693506028080252547

$ utcnow --millis
>> 2023-08-31T18:20:14.672Z

$ utcnow --unix --millis
>> 1693506584321

USAGE:
utcnow [FLAGS]
utcnow [FLAGS] [OPTIONS]

FLAGS:
-E, --est display in us/eastern timezone
-h, --help help
-m, --millis display unix timestamp in milliseconds, instead of default nanoseconds
-0, --null terminate displayed time with null character instead of newline
-r, --rfc2822 display in rfc2822 format
-s, --seconds display unix timestamp in seconds, instead of default nanoseconds
-t, --timespec display as <sec>,<nsec>
-u, --unix display elapsed nanoseconds since 1970-01-01T00:00:00Z
-V, --version version

OPTIONS:
-U, --rfc3339-to-unix <rfc3339-to-unix> parse rfc3339 timestamp and display it as a unix timestamp
-R, --unix-to-rfc3339 <unix-to-rfc3339> convert integer unix timestamp (nanoseconds precision) to datetime in
rfc3339 format. combine with --seconds or --millis to parse a seconds
timestamp with alternate precison
```

+ 28
- 3
src/main.rs View File

@@ -1,4 +1,5 @@
#![allow(unused)]

use std::str::FromStr;
use chrono::{DateTime, Utc, NaiveDateTime, TimeZone};

@@ -31,8 +32,8 @@ fn main() {
let args: clap::ArgMatches = clap::App::new("utcnow")
.author("Jonathan Strong <jonathan.strong@gmail.com>")
.version(clap::crate_version!())
.about("\ncurrent time in utc with non-cryptic interface.\n\n\
default output format is rfc3339 with trailing 'Z', e.g. '1999-12-31T23:59:59.999999999Z'")
//.about("current time in utc with non-cryptic interface")
.about(LONG_HELP)
.help_message("help")
.version_message("version")
.arg(clap::Arg::with_name("unix")
@@ -78,7 +79,7 @@ fn main() {
.short("R")
.alias("unix-to-utc")
.help("convert integer unix timestamp (nanoseconds precision) to datetime \
in rfc3339 format. combine with --seconds or --millis to parse a
in rfc3339 format. combine with --seconds or --millis to parse a \
seconds timestamp with alternate precison")
.takes_value(true)
.required(false)
@@ -183,3 +184,27 @@ fn main() {
print!("{}{}", time_str, endline);
}
}

//const LONG_HELP: &str = include_str!("../long-help.txt");

const LONG_HELP: &str = "current time in utc with non-cryptic interface.

$ utcnow
>> 2023-08-31T18:20:06.190019513Z

$ utcnow -R 1693505148834000000
>> 2023-08-31T18:05:48.834000000Z

$ utcnow -U 2023-08-31T18:05:48.834000000Z
>> 1693505148834000000

$ utcnow --unix
>> 1693506028080252547

$ utcnow --millis
>> 2023-08-31T18:20:14.672Z

$ utcnow --unix --millis
>> 1693506584321";



Loading…
Cancel
Save