Chinaunix首页 | 论坛 | 博客
  • 博客访问: 150110
  • 博文数量: 24
  • 博客积分: 455
  • 博客等级: 下士
  • 技术积分: 309
  • 用 户 组: 普通用户
  • 注册时间: 2010-10-22 09:43
文章分类

全部博文(24)

文章存档

2013年(7)

2012年(5)

2011年(11)

2010年(1)

我的朋友

分类: LINUX

2012-02-20 13:54:42

出于工作原因,经常要写的工作周报中要用到work week的起止日期,
下面这个bash脚本可以打印出需要的格式。
  1. #!/bin/sh

  2. function usage() {
  3. cat<<EOT

  4. Usage:
  5. $0 20120315
  6. $0 \`date -d "7 days ago" +%x\`

  7. EOT
  8. }

  9. if [ $# -gt 1 ]; then
  10.   usage
  11.   exit 1
  12. fi

  13. if [ $# -eq 1 ]; then
  14.   USER_DATE=$1
  15. else
  16.   USER_DATE=`date -d "7 days ago" +%x`
  17. fi

  18. DAY_OF_WEEK=$(date -d "$USER_DATE" '+%w')
  19. DAY_OF_WEEK=`expr $DAY_OF_WEEK - 1`

  20. # work week of the year
  21. WORK_WEEK_OF_YEAR=$(date -d "$USER_DATE" '+%y%W')

  22. # first day of the week
  23. FIRST_DAY_OF_WEEK=$(date -d "$USER_DATE -$DAY_OF_WEEK days" '+%d %b %Y')

  24. # last day of the week
  25. LAST_DAY_OF_WEEK=$(date -d "$FIRST_DAY_OF_WEEK +4 days" '+%d %b %Y')

  26. echo ""
  27. echo "Work Week Caculator: $USER_DATE"
  28. echo ""
  29. echo " Work week of the year:"
  30. echo ""
  31. echo " $WORK_WEEK_OF_YEAR"
  32. echo ""
  33. echo " $FIRST_DAY_OF_WEEK - $LAST_DAY_OF_WEEK"
  34. echo ""
阅读(1166) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~