日期计算脚本与Windows 10安装Bash指南
1. 日期计算的挑战与GNU date的优势
在进行日期计算时,无论是判断某一年是否为闰年,计算距离圣诞节还有多少天,还是计算自己活了多少天,都是一件棘手的事情。基于Unix的系统(如OS X)和基于GNU的Linux系统在日期计算方面存在差异。David MacKenzie为GNU版Linux重写的date实用程序功能更为强大。
如果使用的是OS X或运行 date --version 会报错的系统,可以下载一组核心实用程序,将GNU date作为新的命令行选项(可能会安装为gdate)。在OS X上,可以使用brew包管理器(默认未安装,但易于安装以供后续使用),操作步骤如下:
$ brew install coreutils
安装GNU date后,一些日期计算变得简单。例如,判断某一年是否为闰年,只需使用以下命令:
if [ $( date 12/31/$year +%j ) -eq 366 ]
即如果该年的最后一天是第366天,那么这一年就是闰年。此外,GNU date的另一个优势是能够追溯到很久以前的日期,而标准Unix的date命令的“时间零点”是1970年1月1日00:00:00 UTC,无法处理早于这个时间的日期。
超级会员免费看
订阅专栏 解锁全文
3

被折叠的 条评论
为什么被折叠?



