免费注册 查看新帖 |

Chinaunix

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

[日期时间] 根据年周,返回周一的具体日期(注:系统返回2012-1-1为52周) [复制链接]

论坛徽章:
60
20周年集字徽章-20	
日期:2020-10-28 14:04:3015-16赛季CBA联赛之北京
日期:2016-07-06 15:42:0715-16赛季CBA联赛之同曦
日期:2016-06-12 10:38:0915-16赛季CBA联赛之佛山
日期:2016-05-27 11:54:56黄金圣斗士
日期:2015-12-02 11:44:35白银圣斗士
日期:2015-11-25 14:32:43白银圣斗士
日期:2015-11-23 12:53:352015亚冠之布里斯班狮吼
日期:2015-10-21 16:55:482015亚冠之首尔
日期:2015-09-01 16:46:052015亚冠之德黑兰石油
日期:2015-08-31 11:39:192015亚冠之萨济拖拉机
日期:2015-08-28 21:06:5315-16赛季CBA联赛之广东
日期:2016-07-12 14:58:53
11 [报告]
发表于 2013-08-16 17:03 |只看该作者
回复 9# jason680


   
感觉很有趣,那到底该用哪个??

论坛徽章:
6
摩羯座
日期:2013-08-24 10:43:10狮子座
日期:2013-08-25 10:27:06天秤座
日期:2013-09-11 20:28:44午马
日期:2014-09-28 16:06:0015-16赛季CBA联赛之八一
日期:2016-12-19 13:55:0515-16赛季CBA联赛之天津
日期:2016-12-20 14:01:23
12 [报告]
发表于 2013-08-16 20:17 |只看该作者
本帖最后由 cao627 于 2013-08-16 20:18 编辑

@plumdavid
  1. January 2013      
  2. Su Mo Tu We Th Fr Sa  
  3.        1  2  3  4  5  
  4. 6  7  8  9 10 11 12  
  5. 13 14 15 16 17 18 19  
  6. 20 21 22 23 24 25 26  
  7. 27 28 29 30 31   
复制代码
如上是2013年一月的日历
如果要取2013年第2周的星期一 , 楼主心目中是哪个日期?是1月7号吗?
如果要取2013年第1周的星期一 ,  楼主是否有要求到2012年去取?

论坛徽章:
60
20周年集字徽章-20	
日期:2020-10-28 14:04:3015-16赛季CBA联赛之北京
日期:2016-07-06 15:42:0715-16赛季CBA联赛之同曦
日期:2016-06-12 10:38:0915-16赛季CBA联赛之佛山
日期:2016-05-27 11:54:56黄金圣斗士
日期:2015-12-02 11:44:35白银圣斗士
日期:2015-11-25 14:32:43白银圣斗士
日期:2015-11-23 12:53:352015亚冠之布里斯班狮吼
日期:2015-10-21 16:55:482015亚冠之首尔
日期:2015-09-01 16:46:052015亚冠之德黑兰石油
日期:2015-08-31 11:39:192015亚冠之萨济拖拉机
日期:2015-08-28 21:06:5315-16赛季CBA联赛之广东
日期:2016-07-12 14:58:53
13 [报告]
发表于 2013-08-17 10:45 |只看该作者
诚如@cao627所说,如果要取2013年第1周的星期一 ,  楼主是否有要求到2012年去取?我感觉这个是关键!!! @plumdavid楼主,你说呢?

论坛徽章:
1
数据库技术版块每日发帖之星
日期:2016-03-15 06:20:01
14 [报告]
发表于 2013-08-19 08:29 |只看该作者
回复 13# reyleon


   

    对啊,2013年的第1周的星期一,应该是2012-12-31

论坛徽章:
1
数据库技术版块每日发帖之星
日期:2016-03-15 06:20:01
15 [报告]
发表于 2013-08-19 08:29 |只看该作者
回复 12# cao627


   

    对,2013年的第1周的星期一,应该是2012-12-31

论坛徽章:
6
摩羯座
日期:2013-08-24 10:43:10狮子座
日期:2013-08-25 10:27:06天秤座
日期:2013-09-11 20:28:44午马
日期:2014-09-28 16:06:0015-16赛季CBA联赛之八一
日期:2016-12-19 13:55:0515-16赛季CBA联赛之天津
日期:2016-12-20 14:01:23
16 [报告]
发表于 2013-08-19 19:57 |只看该作者
  1. $ y=2013
  2. $ w=32
  3. $ a=`for i in {1..12}; do cal  $i $y; done | awk -vy=$y -vw=$w '($2 ~ y){m=$0;next}NR>=4{for(i=1;i<=NF;i++)if($i ~ /[0-9]/){d++;if(d>7*(w-2) && d<=7*(w-1) && $2 && !f){print m" "$2;f=1}}}'`
  4. $ echo $a
  5. 5 August 2013
复制代码
当w=1,即一年中的第一周的时候,$a 为空,当w为一年中最后一周的时候,$a也可能为空

所以可以写个脚本,判断
@plumdavid
如果 w=1 ,判断 cal 1 $y 的第一周是否有6个以上字段,如果低于6个字段就取 cal 12 $(($y-1)) 最后一行的$2

如果 w>1 && $a 为空 ,取cal 1 $(($y+1)) 第4行的$2.




论坛徽章:
1
数据库技术版块每日发帖之星
日期:2016-03-15 06:20:01
17 [报告]
发表于 2013-08-20 16:57 |只看该作者
回复 16# cao627


    挺复杂啊,我想,应该有专有的命令能解决吧。

论坛徽章:
145
技术图书徽章
日期:2013-10-01 15:32:13戌狗
日期:2013-10-25 13:31:35金牛座
日期:2013-11-04 16:22:07子鼠
日期:2013-11-18 18:48:57白羊座
日期:2013-11-29 10:09:11狮子座
日期:2013-12-12 09:57:42白羊座
日期:2013-12-24 16:24:46辰龙
日期:2014-01-08 15:26:12技术图书徽章
日期:2014-01-17 13:24:40巳蛇
日期:2014-02-18 14:32:59未羊
日期:2014-02-20 14:12:13白羊座
日期:2014-02-26 12:06:59
18 [报告]
发表于 2013-08-20 17:36 |只看该作者
本帖最后由 jason680 于 2013-08-20 17:39 编辑

回复 17# plumdavid

Would you let's know what you want to do?
   
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP