Mac OSX下用Bash获取本周周日零点Unix时间戳的问题
解决Mac OS X获取本周周日零点Unix时间戳的问题
我明白你在Mac上用date -v -Sun +%s没得到预期结果的问题了——这个命令确实只会跳转到最近的周日,但保留了当前的时分秒,所以才会拿到当天14:20左右的时间戳,而不是零点整。
下面是针对性的解决方案:
1. 获取本周周日零点的Unix时间戳
用date命令的多个-v参数依次调整日期和时间:先回到最近的周日,再把时、分、秒强制清零:
date -v -Sun -v 0H -v 0M -v 0S +%s
执行这个命令就能得到你想要的1521331200,这个值对应GMT 2018年3月18日00:00:00。
2. 打印当前周的起始日期和时间
如果需要直观显示日期时间格式(而非时间戳),把+%s换成对应的格式化字符串即可:
date -v -Sun -v 0H -v 0M -v 0S "+%Y-%m-%d %H:%M:%S"
执行后会输出类似2018-03-18 00:00:00的清晰结果。
验证结果
你可以把得到的时间戳转回日期来确认正确性:
date -r 1521331200
这会输出该时间戳对应的具体时间,能直观确认是周日零点。
内容的提问来源于stack exchange,提问作者conradj
相关产品推荐
相关产品推荐

