我即将于2011年11月1日截止,我希望每次在MacBook Pro上打开终端时打印截止日期。我已将此添加到我的.profile
:
python -c "from datetime import date; print '%s days until deadline.' % (date(2011,11,1) - date.today()).days"
每当我创建一个新的终端窗口时,都会打印146 days until deadline.
。
这解决了我的需求,但我想知道其他语言中的单行是什么样的,或者是否有办法使用bash或标准posix命令行工具来执行相同的任务。
答案 0 :(得分:6)
echo $(expr '(' $(date -d 2011/11/1 +%s) - $(date +%s) + 86399 ')' / 86400) " days until deadline"
答案 1 :(得分:4)
使用awk你可以这样做:
echo "2011 11 01" | awk '{dt=mktime($0 " 00 00 00")-systime(); print int(dt/86400) " days";}'
145 days
awk '{dt=mktime($0 " 00 00 00")-systime(); d=dt/86400+0.5; printf("%d\n",d);}'