utils/src/timestamp

39 lines
1.2 KiB
Tcl
Executable File

#!/usr/bin/env tclsh
#
# timestamp: print current date-timestamp
# author: djl
#
# Copyright (C) 2020 Dylan Lom <djl@dylanlom.com>
#
# Permission to use, copy, modify, and/or distribute this software for any purpose
# with or without fee is hereby granted.
#
# THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
# REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
# FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
# INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS
# OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
# TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF
# THIS SOFTWARE.
#
# flags:
# -d date only.
# -r rfc3339 except it's missing the colon in offset /shrug.
# -v verbose human readable.
# human readable.
proc die {{msg "USAGE: $argv0 \[-d|r|v\]"}} {
puts stderr $msg
exit 1
}
switch [lindex $argv 0] {
-d { set fmt "%Y-%m-%d" }
-r { set fmt "%Y-%m-%dT%T%z" }
-v { set fmt "%Y-%m-%d %T %Z" }
{} { set fmt "%Y-%m-%d %H:%M" }
default die
}
puts [clock format [clock seconds] -format $fmt];