0.1.0 • Published 10 years ago

cli-time v0.1.0

Weekly downloads
3
License
BSD-2-Clause
Repository
github
Last release
10 years ago

cli-time

Command line utility to output time:

$ cli-time -i
Thu Apr 30 2015 11:45:50
Thu Apr 30 2015 11:45:51
Thu Apr 30 2015 11:45:52
Thu Apr 30 2015 11:45:53
Thu Apr 30 2015 11:45:54
Thu Apr 30 2015 11:45:55
Thu Apr 30 2015 11:45:56
Thu Apr 30 2015 11:45:57
Thu Apr 30 2015 11:45:58
Thu Apr 30 2015 11:45:59
Thu Apr 30 2015 11:46:00
Thu Apr 30 2015 11:46:01

We use this utility to have a ticking clock, which we pipe into mhub. However, it can be used in a number of ways.

Installation

npm install -g cli-time

Usage

cli-time is based on Felix Geisendörfer's node-dateformat, which is based on Steven Levithan's excellent dateFormat() function.

Options
  --help          Show this help
  --version       Current version of package
  -m | --mask     Mask that will use to format the date
  -i | --interval Interval to tick, defaults to 1s, should be of the format [<value>](s[ec[ond[s]]]|m[in[ute[s]]]|h[r[s]]|hour[s])
  -u | --utc      Convert local time to UTC time or use `UTC:` prefix in mask
  -g | --gmt      You can use `GMT:` prefix in mask

Usage
  time -m "HH:MM:ss" -i 1s
  time -m "json" -i
  time -m "longTime" -i 1m

For available mask options, see Steven Levithan's article. We also added the "json" named mask for easy json output:

MaskDescription
dDay of the month as digits; no leading zero for single-digit days.
ddDay of the month as digits; leading zero for single-digit days.
dddDay of the week as a three-letter abbreviation.
ddddDay of the week as its full name.
mMonth as digits; no leading zero for single-digit months.
mmMonth as digits; leading zero for single-digit months.
mmmMonth as a three-letter abbreviation.
mmmmMonth as its full name.
yyYear as last two digits; leading zero for years less than 10.
yyyyYear represented by four digits.
hHours; no leading zero for single-digit hours (12-hour clock).
hhHours; leading zero for single-digit hours (12-hour clock).
HHours; no leading zero for single-digit hours (24-hour clock).
HHHours; leading zero for single-digit hours (24-hour clock).
MMinutes; no leading zero for single-digit minutes. Uppercase M unlike CF timeFormat's m to avoid conflict with months.
MMMinutes; leading zero for single-digit minutes. Uppercase MM unlike CF timeFormat's mm to avoid conflict with months.
sSeconds; no leading zero for single-digit seconds.
ssSeconds; leading zero for single-digit seconds.
l or LMilliseconds. l gives 3 digits. L gives 2 digits.
tLowercase, single-character time marker string: a or p. No equivalent in CF.
ttLowercase, two-character time marker string: am or pm. No equivalent in CF.
TUppercase, single-character time marker string: A or P. Uppercase T unlike CF's t to allow for user-specified casing.
TTUppercase, two-character time marker string: AM or PM. Uppercase TT unlike CF's tt to allow for user-specified casing.
ZUS timezone abbreviation, e.g. EST or MDT. With non-US timezones or in the Opera browser, the GMT/UTC offset is returned, e.g. GMT-0500 No equivalent in CF.
oGMT/UTC timezone offset, e.g. -0500 or +0230. No equivalent in CF.
SThe date's ordinal suffix (st, nd, rd, or th). Works well with d. No equivalent in CF.
'…' or "…"Literal character sequence. Surrounding quotes are removed. No equivalent in CF.
UTC:Must be the first four characters of the mask. Converts the date from local time to UTC/GMT/Zulu time before applying the mask. The "UTC:" prefix is removed. No equivalent in CF.
NameMaskExample
defaultddd mmm dd yyyy HH:MM:ssSat Jun 09 2007 17:46:21
shortDatem/d/yy6/9/07
mediumDatemmm d, yyyyJun 9, 2007
longDatemmmm d, yyyyJune 9, 2007
fullDatedddd, mmmm d, yyyySaturday, June 9, 2007
shortTimeh:MM TT5:46 PM
mediumTimeh:MM:ss TT5:46:21 PM
longTimeh:MM:ss TT Z5:46:21 PM EST
isoDateyyyy-mm-dd2007-06-09
isoTimeHH:MM:ss17:46:21
isoDateTimeyyyy-mm-dd'T'HH:MM:ss2007-06-09T17:46:21
isoUtcDateTimeUTC:yyyy-mm-dd'T'HH:MM:ss'Z'2007-06-09T22:46:21Z
json'{"time":"'yyyy-mm-dd'T'HH:MM:sso'"}'{"time":"2015-04-29T23:10:00+0200"}