免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 5672 | 回复: 5
打印 上一主题 下一主题

shell取周一的日期 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2012-07-10 16:15 |只看该作者 |倒序浏览
我想用shell来获取任意一天本周周一的日期,应该如何做?
多谢~

论坛徽章:
0
2 [报告]
发表于 2012-07-10 16:27 |只看该作者
本帖最后由 personball 于 2012-07-10 16:30 编辑

回复 1# wjldrogan


   任意一天那周周一的日期?
参考下这个:
  1. personball@vostro:~$mytime=`date "+%s"`
  2. personball@vostro:~$echo $mytime
  3. 1341908537
  4. personball@vostro:~$let mytime-=86400                   #这里加个循环,如果date -d "@$mytime"输出的前三个字母不是Mon,则继续将mytime减去86400
  5. personball@vostro:~$date -d "@$mytime"
  6. Mon Jul  9 16:22:17 CST 2012
  7. personball@vostro:~$
复制代码
date的默认输出格式不一样的话,判断是否Mon的方法可能不同。

论坛徽章:
0
3 [报告]
发表于 2012-07-10 16:34 |只看该作者
回复 2# personball
这样算是知道今天是周二,所以减去86400,我想要一种通用的方法,可以算出本周一的时间日期,那样需要怎么做?


   

论坛徽章:
0
4 [报告]
发表于 2012-07-10 16:41 |只看该作者
回复 3# wjldrogan


    date -d  "your date str"

论坛徽章:
0
5 [报告]
发表于 2012-07-10 16:57 |只看该作者
回复 3# wjldrogan
  1. personball@vostro:date_d$./getMonDate.sh
  2. please enter a date(YYYY-MM-DD HH:mm:ss):
  3. 2012-07-01 00:00:00
  4. Sat Jun 30 00:00:00 CST 2012
  5. Fri Jun 29 00:00:00 CST 2012
  6. Thu Jun 28 00:00:00 CST 2012
  7. Wed Jun 27 00:00:00 CST 2012
  8. Tue Jun 26 00:00:00 CST 2012
  9. Mon Jun 25 00:00:00 CST 2012
  10. the day you wanted is:Mon Jun 25 00:00:00 CST 2012
  11. personball@vostro:date_d$cat getMonDate.sh
  12. #!/bin/bash
  13. echo "please enter a date(YYYY-MM-DD HH:mm:ss):"
  14. read mytime
  15. datestr=`date -d "$mytime"`
  16. tst=`date -d "$mytime" +%s`
  17. while [[ "${datestr:0:3}" != "Mon" ]]
  18. do
  19.         let "tst=tst-86400"
  20.         datestr=`date -d "@$tst"`
  21.         echo $datestr
  22. done
  23. echo "the day you wanted is:"$datestr
  24. personball@vostro:date_d$
复制代码

论坛徽章:
0
6 [报告]
发表于 2016-07-25 18:17 |只看该作者
  1. delta=$((`date +%u`-1))
  2. date -d"-${delta} days" +"%Y%m%d"
复制代码
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP