免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 34405 | 回复: 10

[日期时间] 求助-天干地支的计算 [复制链接]

论坛徽章:
17
辰龙
日期:2014-05-21 21:01:4115-16赛季CBA联赛之北控
日期:2016-11-28 18:26:3815-16赛季CBA联赛之佛山
日期:2016-11-03 11:18:5815-16赛季CBA联赛之辽宁
日期:2016-07-10 16:09:4115-16赛季CBA联赛之江苏
日期:2016-02-20 23:09:202015亚冠之塔什干棉农
日期:2015-08-17 19:49:492015年亚洲杯之日本
日期:2015-04-30 01:24:342015年亚洲杯之约旦
日期:2015-04-01 00:37:182015年亚洲杯之沙特阿拉伯
日期:2015-03-02 15:55:40处女座
日期:2014-05-25 10:34:0015-16赛季CBA联赛之深圳
日期:2016-12-23 13:51:38
发表于 2018-12-08 20:02 |显示全部楼层
本帖最后由 bikkuri 于 2018-12-10 09:45 编辑

什么意思?为什么我发的贴老是被删?超不满!
删我的贴至少给个理由吧?

论坛徽章:
17
辰龙
日期:2014-05-21 21:01:4115-16赛季CBA联赛之北控
日期:2016-11-28 18:26:3815-16赛季CBA联赛之佛山
日期:2016-11-03 11:18:5815-16赛季CBA联赛之辽宁
日期:2016-07-10 16:09:4115-16赛季CBA联赛之江苏
日期:2016-02-20 23:09:202015亚冠之塔什干棉农
日期:2015-08-17 19:49:492015年亚洲杯之日本
日期:2015-04-30 01:24:342015年亚洲杯之约旦
日期:2015-04-01 00:37:182015年亚洲杯之沙特阿拉伯
日期:2015-03-02 15:55:40处女座
日期:2014-05-25 10:34:0015-16赛季CBA联赛之深圳
日期:2016-12-23 13:51:38
发表于 2018-12-08 20:08 |显示全部楼层
回复 1# bikkuri


没办法,只能以回帖的方式发贴了!
拜托别再删了!

大家好,我有一个问题向大家请教。
从百度百科上我查到生辰八字的推算方法。
https://baike.baidu.com/item/%E7%94%9F%E8%BE%B0%E5%85%AB%E5%AD%97/87875?fr=aladdin
我想用一个命令得到当前时刻所对应的天干地支八字。
首先我用如下命令得到了天干地支八字中的前六字。
┌─[Sun Nov 25 02:27:39 CST 2018]
└─[root@apaciprtac:/tmp]# echo $(curl -s "http://nongli.hdjr.org/"|grep -oP "(?<=\<\/li\>\<li class\='A2'\>).*?(?=\<\/li\>)"|iconv -c -f GBK -t UTF8|head -n 3|tr -d " ")|awk -vOFS="|" '{print $1,$3,$2}'
2018年11月25日星期日射手座|戊戌年癸亥月辛酉日|2018年十月(小)十八属狗
┌─[Sun Nov 25 02:27:45 CST 2018]
└─[root@apaciprtac:/tmp]# echo $(curl -s "http://nongli.hdjr.org/"|grep -oP "(?<=\<\/li\>\<li class\='A2'\>).*?(?=\<\/li\>)"|iconv -c -f GBK -t UTF8|head -n 3|tr -d " ")|awk '{print$3}'
戊戌年癸亥月辛酉日
┌─[Sun Nov 25 02:27:53 CST 2018]
└─[root@apaciprtac:/tmp]#
根据百度百科的说法,02:27:53属于丑时(丑时:1点——凌晨2点59分),也就是说八字中第八字的时地支为“丑”字。
同时根据百度百科的说法,时天干要从日天干来推算,因为日天干为辛,所以辛日的丑时应该是“巳丑”,也就是说八字中第七字的时天干为“巳”字。
所以完整的八字应该是:
戊戌年癸亥月辛酉日巳丑时
请问应该如何修改命令从而能够得到完整的八字。
谢谢大家的帮助。


论坛徽章:
17
辰龙
日期:2014-05-21 21:01:4115-16赛季CBA联赛之北控
日期:2016-11-28 18:26:3815-16赛季CBA联赛之佛山
日期:2016-11-03 11:18:5815-16赛季CBA联赛之辽宁
日期:2016-07-10 16:09:4115-16赛季CBA联赛之江苏
日期:2016-02-20 23:09:202015亚冠之塔什干棉农
日期:2015-08-17 19:49:492015年亚洲杯之日本
日期:2015-04-30 01:24:342015年亚洲杯之约旦
日期:2015-04-01 00:37:182015年亚洲杯之沙特阿拉伯
日期:2015-03-02 15:55:40处女座
日期:2014-05-25 10:34:0015-16赛季CBA联赛之深圳
日期:2016-12-23 13:51:38
发表于 2018-12-08 21:32 |显示全部楼层
回复 1# bikkuri

大家好,我有一个问题向大家请教。
从百度百科上我查到生辰八字的推算方法。
https://baike.baidu.com/item/%E7%94%9F%E8%BE%B0%E5%85%AB%E5%AD%97/87875?fr=aladdin
我想用一个命令得到当前时刻所对应的天干地支八字。
首先我用如下命令得到了天干地支八字中的前六字。
cmd.png
┌─[Sun Nov 25 02:27:39 CST 2018]
└─[root@apaciprtac:/tmp]# echo $(curl -s "http://nongli.hdjr.org/"|grep -oP "(?<=\<\/li\>\<li class\='A2'\>).*?(?=\<\/li\>)"|iconv -c -f GBK -t UTF8|head -n 3|tr -d " ")|awk -vOFS="|" '{print $1,$3,$2}'
2018年11月25日星期日射手座|戊戌年癸亥月辛酉日|2018年十月(小)十八属狗
┌─[Sun Nov 25 02:27:45 CST 2018]
└─[root@apaciprtac:/tmp]# echo $(curl -s "http://nongli.hdjr.org/"|grep -oP "(?<=\<\/li\>\<li class\='A2'\>).*?(?=\<\/li\>)"|iconv -c -f GBK -t UTF8|head -n 3|tr -d " ")|awk '{print$3}'
戊戌年癸亥月辛酉日
┌─[Sun Nov 25 02:27:53 CST 2018]
└─[root@apaciprtac:/tmp]#
根据百度百科的说法,02:27:53属于丑时(丑时:1点——凌晨2点59分),也就是说八字中第八字的时地支为“丑”字。

8zi.png
同时根据百度百科的说法,时天干要从日天干来推算,因为日天干为辛,所以辛日的丑时应该是“巳丑”,也就是说八字中第七字的时天干为“巳”字。

shi.jpg
所以完整的八字应该是:
戊戌年癸亥月辛酉日巳丑时
请问应该如何修改命令从而能够得到完整的八字。
谢谢大家的帮助。


论坛徽章:
21
程序设计版块每日发帖之星
日期:2016-05-03 06:20:0015-16赛季CBA联赛之深圳
日期:2018-06-15 14:59:3715-16赛季CBA联赛之八一
日期:2018-07-03 16:56:4615-16赛季CBA联赛之八一
日期:2018-07-05 10:34:09黑曼巴
日期:2018-07-06 15:19:5015-16赛季CBA联赛之佛山
日期:2018-08-03 13:19:3315-16赛季CBA联赛之山西
日期:2018-08-07 19:46:2315-16赛季CBA联赛之广夏
日期:2018-08-08 19:31:5015-16赛季CBA联赛之青岛
日期:2018-11-26 15:21:5015-16赛季CBA联赛之青岛
日期:2018-06-08 13:45:2815-16赛季CBA联赛之同曦
日期:2018-06-04 19:42:2015-16赛季CBA联赛之山东
日期:2018-05-30 12:44:59
发表于 2018-12-12 15:25 |显示全部楼层
回复 3# bikkuri


  1. curl -s "http://nongli.hdjr.org/"|grep -Po "(?<=<li class='A2'>).*?(?=</li>)"|iconv -f GBK -t utf-8|awk 'BEGIN{a=split("甲乙丙丁戊己庚辛壬癸",b,"");c=split("子丑寅卯辰巳午未申酉戌亥",d,"");for(i=1;i<=a;i++){for(j=1;j<=c;j++){k=++k>10?1:k;e[b[i]d[j]]=b[k]d[j]}};for(i=1;i<=12;i++){f[++g<24?g:0]=f[++g]=d[i<12?i+1:1]};h=strftime("%H",systime())}NR<=3{gsub(/ /,"");m[NR]=$0}END{split(m[3],n,"");print m[1]"|"m[3]e[n[7]f[h]]"时|"m[2]}'
  2. 2018年12月12日星期三射手座|戊戌年甲子月戊寅日庚申时|2018年十一月(大)初六属狗
复制代码

论坛徽章:
17
辰龙
日期:2014-05-21 21:01:4115-16赛季CBA联赛之北控
日期:2016-11-28 18:26:3815-16赛季CBA联赛之佛山
日期:2016-11-03 11:18:5815-16赛季CBA联赛之辽宁
日期:2016-07-10 16:09:4115-16赛季CBA联赛之江苏
日期:2016-02-20 23:09:202015亚冠之塔什干棉农
日期:2015-08-17 19:49:492015年亚洲杯之日本
日期:2015-04-30 01:24:342015年亚洲杯之约旦
日期:2015-04-01 00:37:182015年亚洲杯之沙特阿拉伯
日期:2015-03-02 15:55:40处女座
日期:2014-05-25 10:34:0015-16赛季CBA联赛之深圳
日期:2016-12-23 13:51:38
发表于 2018-12-13 01:59 |显示全部楼层
回复 4# wh7211

非常感谢您的帮助!
但是我执行了一下,好象时干支并没有显示出来?
Capture.PNG

论坛徽章:
17
辰龙
日期:2014-05-21 21:01:4115-16赛季CBA联赛之北控
日期:2016-11-28 18:26:3815-16赛季CBA联赛之佛山
日期:2016-11-03 11:18:5815-16赛季CBA联赛之辽宁
日期:2016-07-10 16:09:4115-16赛季CBA联赛之江苏
日期:2016-02-20 23:09:202015亚冠之塔什干棉农
日期:2015-08-17 19:49:492015年亚洲杯之日本
日期:2015-04-30 01:24:342015年亚洲杯之约旦
日期:2015-04-01 00:37:182015年亚洲杯之沙特阿拉伯
日期:2015-03-02 15:55:40处女座
日期:2014-05-25 10:34:0015-16赛季CBA联赛之深圳
日期:2016-12-23 13:51:38
发表于 2018-12-13 02:44 |显示全部楼层
回复 4# wh7211

非常感谢您的帮助!
把您的代码中的f[h]改成f[h+0]以后在丑时可以正确显示时干支了。
┌─[Thu Dec 13 02:38:45 CST 2018]
└─[root@apaciprtac:~]# curl -s "http://nongli.hdjr.org/"|grep -Po "(?<=<li class='A2'>).*?(?=</li>)"|iconv -f GBK -t utf-8|awk 'BEGIN{a=split("甲乙丙丁戊己庚辛壬癸",b,"");c=split("子丑寅卯辰巳午未申酉戌亥",d,"");for(i=1;i<=a;i++){for(j=1;j<=c;j++){k=++k>10?1:k;e[bd[j]]=b[k]d[j]}};for(i=1;i<=12;i++){f[++g<24?g:0]=f[++g]=d[i<12?i+1:1]};h=strftime("%H",systime())}NR<=3{gsub(/ /,"");m[NR]=$0}END{split(m[3],n,"");print m[1]"|"m[3]e[n[7]f[h+0]]"时|"m[2]}'
2018年12月13日星期四射手座|戊戌年甲子月己卯日乙丑时|2018年十一月(大)初七属狗
Capture2.PNG

论坛徽章:
21
程序设计版块每日发帖之星
日期:2016-05-03 06:20:0015-16赛季CBA联赛之深圳
日期:2018-06-15 14:59:3715-16赛季CBA联赛之八一
日期:2018-07-03 16:56:4615-16赛季CBA联赛之八一
日期:2018-07-05 10:34:09黑曼巴
日期:2018-07-06 15:19:5015-16赛季CBA联赛之佛山
日期:2018-08-03 13:19:3315-16赛季CBA联赛之山西
日期:2018-08-07 19:46:2315-16赛季CBA联赛之广夏
日期:2018-08-08 19:31:5015-16赛季CBA联赛之青岛
日期:2018-11-26 15:21:5015-16赛季CBA联赛之青岛
日期:2018-06-08 13:45:2815-16赛季CBA联赛之同曦
日期:2018-06-04 19:42:2015-16赛季CBA联赛之山东
日期:2018-05-30 12:44:59
发表于 2018-12-13 10:21 |显示全部楼层
本帖最后由 wh7211 于 2018-12-13 15:21 编辑

回复 6# bikkuri


f[h+0]或f[strtonum(h)]

论坛徽章:
5
2016科比退役纪念章
日期:2019-02-15 14:00:3715-16赛季CBA联赛之山东
日期:2019-02-19 11:03:3715-16赛季CBA联赛之山东
日期:2019-03-18 17:30:1915-16赛季CBA联赛之江苏
日期:2019-03-19 11:23:2115-16赛季CBA联赛之天津
日期:2019-03-21 12:37:55
发表于 2018-12-13 15:19 |显示全部楼层
回复 1# bikkuri

论坛徽章:
17
辰龙
日期:2014-05-21 21:01:4115-16赛季CBA联赛之北控
日期:2016-11-28 18:26:3815-16赛季CBA联赛之佛山
日期:2016-11-03 11:18:5815-16赛季CBA联赛之辽宁
日期:2016-07-10 16:09:4115-16赛季CBA联赛之江苏
日期:2016-02-20 23:09:202015亚冠之塔什干棉农
日期:2015-08-17 19:49:492015年亚洲杯之日本
日期:2015-04-30 01:24:342015年亚洲杯之约旦
日期:2015-04-01 00:37:182015年亚洲杯之沙特阿拉伯
日期:2015-03-02 15:55:40处女座
日期:2014-05-25 10:34:0015-16赛季CBA联赛之深圳
日期:2016-12-23 13:51:38
发表于 2018-12-15 23:48 |显示全部楼层
回复 7# wh7211

谢谢您的指点。
我一般用f[h+0]或者f[h-0]。



论坛徽章:
17
辰龙
日期:2014-05-21 21:01:4115-16赛季CBA联赛之北控
日期:2016-11-28 18:26:3815-16赛季CBA联赛之佛山
日期:2016-11-03 11:18:5815-16赛季CBA联赛之辽宁
日期:2016-07-10 16:09:4115-16赛季CBA联赛之江苏
日期:2016-02-20 23:09:202015亚冠之塔什干棉农
日期:2015-08-17 19:49:492015年亚洲杯之日本
日期:2015-04-30 01:24:342015年亚洲杯之约旦
日期:2015-04-01 00:37:182015年亚洲杯之沙特阿拉伯
日期:2015-03-02 15:55:40处女座
日期:2014-05-25 10:34:0015-16赛季CBA联赛之深圳
日期:2016-12-23 13:51:38
发表于 2018-12-15 23:57 |显示全部楼层
回复 8# Phyllis666

谢谢管理大大反删除我之前发的几个帖子。
不知道是怎么回事,最近几次发帖没有一次是痛痛快快地发一次就成功的。
我还反复检查是不是文章里夹带了什么*_*敏*_*感*_*词*_*。。。

您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

ITPUB技术栈

ITPUB技术栈:http://z.itpub.net/
ITPUB技术栈是由ITPUB社区打造的垂直于IT领域的知识交流平台,在这里,你既可以是创作者也可以是消费者。如果你的IT生涯丰富多彩,喷薄的个人价值尽可在小栈内体现;如果你渴望找到志同道合的伙伴,拓宽人脉,小栈会是你最好的选择。





点击进入>>
  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP