Category Archives: geeking

LA Youth Hack Jam

Want to Teach Kids to Code? Send ‘Em to a ‘Hack Jam’
100 Kids and their adults gathered last weekend in Los Angeles to learn how to program, how to think, and how to start making things. This is what happened and why.

Enhanced by Zemanta

Elapsed time in UNIX shell

The other day I had enough calculating the time so I just wrote this script:
cat > ~/bin/timediff
#!/bin/sh
if [ -z $2 ]; then
echo "usage: $0 "
echo
echo "ex. $0 11:49 12:51"
exit 1
fi

end=`date +%s -d"$2"`
start=`date +%s -d"$1"`

diff=$(($end-$start))

diff=$(($diff/60))
hours=$(($diff/60))
min=$(($diff%60))
# Prepend a 0 if minute <10
if [ ${#min} -eq 1 ]; then
min=0$min
fi

echo "$hours:$min"

Of course, it works in some cases only. This one is fine:
$ sh ~/bin/timediff 11:49 12:51
1:02

Whereas this one will not work:
$ sh ~/bin/timediff 11:49 1:51
-9:-58

But the output is quite obvious.