免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: valentine
打印 上一主题 下一主题

如何计算一个日期是星期几?  关闭 [复制链接]

论坛徽章:
0
11 [报告]
发表于 2002-08-19 08:24 |只看该作者

如何计算一个日期是星期几?

你贴出来的程序,for后少了一个(.
且程序计算20020101时结果正确,计算20020103便出错了.

论坛徽章:
0
12 [报告]
发表于 2002-08-19 22:57 |只看该作者

如何计算一个日期是星期几?

噢!对不起,我没有试过这个时间段。
真不好意思!!

论坛徽章:
0
13 [报告]
发表于 2002-08-20 08:27 |只看该作者

如何计算一个日期是星期几?

可以再修改一下啊.

论坛徽章:
0
14 [报告]
发表于 2002-08-20 22:38 |只看该作者

如何计算一个日期是星期几?

get_whatdays()
{
year=`expr substr  $1 1 4`
month=`expr substr  $1 5 2`
day=`expr substr  $1 7 2`
b=`cal $month $year|wc -l`
b=`expr $b - 1`
a=`cal  $month  $year |awk -v day=$day -v jl=$b '{for i=1&#59;i<=NF&#59;i++){if($i==day){if (NR==jl){print $i-1}else{print 7-NF+i-1}}}}'`
echo $a
}  
老斑,现在试试?


  

论坛徽章:
0
15 [报告]
发表于 2002-08-20 22:38 |只看该作者

如何计算一个日期是星期几?

得,又少了一个括号。

论坛徽章:
0
16 [报告]
发表于 2002-08-21 08:51 |只看该作者

如何计算一个日期是星期几?

[这个贴子最后由valentine在 2002/08/21 12:03pm 编辑]

我测试可以了,又安照偶的习惯改了一个valentine版.
get_whatdays()
{
year=`echo $1|cut -c1-4`
month=`echo $1|cut -c5-6`
day=`echo $1|cut -c7-8`

b=`cal $month $year|wc -l `
cal  $month  $year |awk  '{for(i=1&#59;i<=NF&#59;i++){if($i=='$day'){if (NR=='&quot;$b&quot;'-1
){print i-1}else{print 7-NF+i-1}}}}'
}

论坛徽章:
0
17 [报告]
发表于 2002-08-21 11:19 |只看该作者

如何计算一个日期是星期几?

斑竹,
if (NR=='&quot;$b&quot;'-1
){print $i-1}
应该是
if (NR=='&quot;$b&quot;'-1
){print i-1}

论坛徽章:
0
18 [报告]
发表于 2002-08-21 11:25 |只看该作者

如何计算一个日期是星期几?

$i是指第i个字段的值
i是指i的值.
按照原程序,应该是$i.

论坛徽章:
0
19 [报告]
发表于 2002-08-21 11:36 |只看该作者

如何计算一个日期是星期几?

对啊,
函数返回值应该是0-6
如果用$i-1,返回值超出0-6
我用20020825测试了,返回值是24(25-1)
应该是0(1-1)

论坛徽章:
0
20 [报告]
发表于 2002-08-21 12:02 |只看该作者

如何计算一个日期是星期几?

那应该是你说的对.我把它改过来.
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP