免费注册 查看新帖 |

Chinaunix

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

关于日期 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2007-07-27 11:31 |只看该作者 |倒序浏览
能不能指定一个时间 得出是星期几?
比较20070730
得的日期是星期一?

论坛徽章:
0
2 [报告]
发表于 2007-07-27 11:51 |只看该作者
test$ date -d "20070724"
2007年 07月 24日 星期二 00:00:00 CST
test$ date -d "20070724" |awk '{ print $4 }'
星期二
这样可以,但如果系统不同了,得到的可能不同,
本想test$ date -d "20070724" | date %w
的,但发现,是当前的星期

论坛徽章:
0
3 [报告]
发表于 2007-07-27 12:04 |只看该作者
已经解决了, date -d "20070724" "+%a"
可是如果是日文 系统,就出现一个火字,怎么类试 date cst 变成二这样呢?

论坛徽章:
0
4 [报告]
发表于 2007-07-27 12:09 |只看该作者


  1. echo "20070727"  |
  2. awk '
  3. function dayofweek(y, m, d)
  4. {
  5.   split("0 3 2 5 0 3 5 1 4 6 2 4", X)
  6.   y -= m < 3;
  7.   return ((y+int(y/4)-int(y/100)+int(y/400)+X[m+0]+d) % 7)
  8. }
  9. {
  10.   print dayofweek(substr($1, 1, 4), substr($1, 5, 2), substr($1, 7, 2))
  11. }'

复制代码

[ 本帖最后由 ivhb 于 2007-7-27 13:31 编辑 ]

论坛徽章:
0
5 [报告]
发表于 2007-07-27 13:12 |只看该作者
改成了shell版

  1. idx=0
  2. for x in 0  3  2  5 0  3  5  1 4  6  2  4; do
  3.   mons[$idx]=$x
  4.   ((idx+=1))
  5. done

  6. read y?"yyyy mm dd: " m d
  7. print $(((($y + $y / 4 - $y / 100 + $y / 400) + ${mons[$(($m-1))]} + $d) % 7))
复制代码


希望对大家有用

[ 本帖最后由 ivhb 于 2007-7-27 13:15 编辑 ]

论坛徽章:
0
6 [报告]
发表于 2007-07-27 13:31 |只看该作者
好像不好使

论坛徽章:
0
7 [报告]
发表于 2007-07-27 13:32 |只看该作者
可能我们环境不一样吧。
你要是有awk的话,awk,应该的应该是可以的。你再试试看。刚才确实有个bug
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP