1
0
Fork 0
mirror of https://github.com/notwa/rc synced 2024-06-26 09:07:12 -07:00
rc/sh/now

40 lines
650 B
Plaintext
Raw Normal View History

2015-12-12 06:39:45 -08:00
#!/usr/bin/env bash
now() {
local dt=
local fmt='+%F_%T_%N'
if [ -z "$1" ]; then
dt="$(date -u "$fmt")"
2015-12-12 06:39:45 -08:00
elif [ -e "$1" ]; then
dt="$(date -u -r "$1" "$fmt")"
2015-12-12 06:39:45 -08:00
else
dt="$(date -u -d "$1" "$fmt")"
2015-12-12 06:39:45 -08:00
fi
local F= T= N=
F=${dt%%_*}
T=${dt#*_}
T=${T%_*}
N=${dt##*_}
local H= M= S=
H=${T%%:*}
M=${T#*:}
M=${M%:*}
S=${T##*:}
# don't interpret numbers as octal
F=${F#0*}
T=${T#0*}
N=${N#0*}
H=${H#0*}
M=${M#0*}
S=${S#0*}
local ms=
let 'ms=(H*60*60+M*60+S)*1000+N/1000000'
ms=$(printf '%08i' $ms)
echo "${F}_${ms}"
}
now "$@"