免费注册 查看新帖 |

Chinaunix

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

date -d '-1 month' +%Y%m [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-03-29 13:24 |只看该作者 |倒序浏览
由于今年的2月只有28天,这样导致了上面的命令,还是200903
如何才能得到200902 ?

论坛徽章:
0
2 [报告]
发表于 2009-03-29 16:23 |只看该作者

回复 #1 nogroup 的帖子

[test@ ~ ] $ echo `date  +%Y%m` -1 |bc
200902

那看来这个-1 month是个bug?

论坛徽章:
0
3 [报告]
发表于 2009-03-29 16:45 |只看该作者

回复 #2 我是DBA 的帖子

这也不通用呀
难不成只能写个函数来了?

论坛徽章:
0
4 [报告]
发表于 2009-03-29 16:50 |只看该作者

回复 #2 我是DBA 的帖子

不单是-1,last 也一样,程序应该是算法问题,不过你的解决方法。。。。

这样的bug都给发现了,lz太有材了

论坛徽章:
0
5 [报告]
发表于 2009-03-29 16:55 |只看该作者

回复 #4 haimming 的帖子

一早就接到电话说程序错误了,汗

不会真是bug吧?
-d '-1 month'
-d '-2 month'
-d '-3 month'
大家可以试试

论坛徽章:
0
6 [报告]
发表于 2009-03-29 17:11 |只看该作者
我刚才又试了一下,其它的日子,好像都不会只有29、30、31会这样,
我想这可能也不算是bug,而应该是我们的理解应用错了,
因为“一个月前”这句话本身就不明确,比如3月5号,一个月前自然是2月5号,但如果是3月30号,一个月前是什么日子?2月30号?没有这一天啊!
那应该是3月30的日期减去多少才算一个月前?2月的天数,还是3月的天数?还是平均数?

所以,这可能也不算是bug,只是没法在这三天定义一个月前而已

如果你只要到月份,还是用 我是DBA 的方法吧,他太有才了!

[ 本帖最后由 haimming 于 2009-3-29 17:14 编辑 ]

论坛徽章:
0
7 [报告]
发表于 2009-03-29 17:26 |只看该作者

回复 #6 haimming 的帖子

这倒是,我也觉得是理解上的问题。
系统应该也是在月份上减1,所以2月的29 30 31都会有问题了。
只是二楼的办法,还不通用,因为只有 -d '-1 month'异常, -d '-2 month'就正常了。
郁闷了

论坛徽章:
0
8 [报告]
发表于 2009-03-29 17:52 |只看该作者

回复 #7 nogroup 的帖子

为什么不通用?
如果你只要月份的话都可以这样用啊?
在什么情况下不能这样用?

论坛徽章:
0
9 [报告]
发表于 2009-03-29 18:36 |只看该作者

回复 #8 我是DBA 的帖子

如果是2009年1月呢
结果就成了200900了吧?


lz还是写个函数吧,只要月分应该容易

[ 本帖最后由 haimming 于 2009-3-29 18:38 编辑 ]

论坛徽章:
0
10 [报告]
发表于 2009-03-29 18:52 |只看该作者

回复 #9 haimming 的帖子

也对啊,用脚本吧,这个不难
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP