10# given to force base 10, bash will attempt to be clever on zero-led numbers whereas ksh always assumes base 10.
toepoch() { local -i Y=10#${1:?} m=10#${2:?} d=10#${3:?} H=10#${4:?} M=10#${5:?} S=10#${6:?} if ((m > 2)); then let m-=3 else let m+=9 let --Y fi local -i c='Y / 100' local -i ya='Y - 100 * c' local -i j=' (146097 * c) / 4 + (1461 * ya) / 4 + (153 * m + 2) / 5 + d' local -i result='((j - 719469) * 86400) + (H * 3600) + (M * 60) + S' echo $result }
Can be then run as: toepoch $(date -u "+%Y %m %d %H %M %S")
No comments:
Post a Comment