Chinaunix

标题: 根据任意一个日期,得到它所在星期的(周一到周7)的具体日期 [打印本页]

作者: zhao3stones    时间: 2010-05-26 13:54
标题: 根据任意一个日期,得到它所在星期的(周一到周7)的具体日期
如题,谢谢
作者: 99超人    时间: 2010-05-26 13:58
提示: 作者被禁止或删除 内容自动屏蔽
作者: lkk2003rty    时间: 2010-05-26 14:10
cal 1 2010 | sed -n '2p;/26/p'

其中1为月份 2010为年份 26为日期
lz自己看情况改改吧
作者: kwokcn    时间: 2010-05-26 17:30
本帖最后由 kwokcn 于 2010-05-26 17:49 编辑

有bug,删了。
作者: kwokcn    时间: 2010-05-26 17:42
呃,有点bug,只考虑了年底情况,忘记考虑年初情况了…… - -
作者: kwokcn    时间: 2010-05-26 17:48

  1. #!/bin/bash

  2. dayofweek=$(date +%u -d "$@")

  3. for((i=1;i<8;i++))
  4. do
  5.     date +%Y-%m-%d -d "$@ +$(($i-$dayofweek)) day"
  6. done
复制代码

作者: ywlscpl    时间: 2010-05-26 18:01
week.sh
  1. #!/bin/bash
  2. n=`date -d "$1" "+%u"`
  3. for ((i=$n;i>0;i--))
  4. do
  5.   n1=$(($i-1))
  6.   date +%Y%m%d -d "$1 -$n1 days"
  7. done
  8. for ((i=1;i<=$((7-$n));i++))
  9. do
  10.   date +%Y%m%d -d "$1 +$i days"
  11. done
复制代码
执行 ./week.sh 2010-05-25
作者: zhao3stones    时间: 2010-05-26 21:18
谢谢,那如何直接翻译数字0-6 成Sunday to Saturday?




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2