免费注册 查看新帖 |

Chinaunix

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

计算1970年1月1号至今的天数 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2011-07-08 18:17 |只看该作者 |倒序浏览
如题

论坛徽章:
0
2 [报告]
发表于 2011-07-08 19:05 |只看该作者
回复 1# 267020090
  1. 试试awk的systime函数
  2. awk 'BEGIN{print systime()/(24*3600)}'
复制代码

论坛徽章:
0
3 [报告]
发表于 2011-07-08 20:58 |只看该作者
YEAR=`date '+%Y'`
#echo $YEAR
MONTH=`date '+%m'`
MONTH=`echo $MONTH | tr -d "0"`
#echo $MONTH
DAY=`date '+%d'`
DAY=`echo $DAY |tr -d "0"`
#echo $DAY
while [ $MONTH -gt "1" ]
do
MONTH=`expr $MONTH - 1`
case $MONTH in
1|3|5|7|8|10|12 ) DAYADD=31
;;
4|6|9|11 ) DAYADD=30
;;
2 ) DAYADD=28
;;
esac
DAY=`expr $DAY + $DAYADD`
echo $DAY
done
NUM=`echo $[($YEAR-1970)*365 + $DAY]`
echo $NUM
这样和你的计算结果有点差别

论坛徽章:
0
4 [报告]
发表于 2011-07-08 21:05 |只看该作者
本帖最后由 lionfun 于 2011-07-08 21:16 编辑

回复 3# 267020090


    闰年,要不要算上?
  1. 更困惑的1752年(与本题目无关),9月(只有19天!!!):
  2. [root@localhost ~]# cal 9 1752
  3.    September 1752
  4. Su Mo Tu We Th Fr Sa
  5.        1  2 14 15 16
  6. 17 18 19 20 21 22 23
  7. 24 25 26 27 28 29 30
复制代码

论坛徽章:
3
2015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:51:162015年亚洲杯之阿曼
日期:2015-04-07 20:00:59
5 [报告]
发表于 2011-07-08 22:33 |只看该作者
提示: 作者被禁止或删除 内容自动屏蔽

论坛徽章:
0
6 [报告]
发表于 2011-07-08 23:04 |只看该作者
英国对日历进行转换,1752年9月2日的下一天是1752年9月14日

论坛徽章:
33
ChinaUnix元老
日期:2015-02-02 08:55:39CU十四周年纪念徽章
日期:2019-08-20 08:30:3720周年集字徽章-周	
日期:2020-10-28 14:13:3020周年集字徽章-20	
日期:2020-10-28 14:04:3019周年集字徽章-CU
日期:2019-09-08 23:26:2519周年集字徽章-19
日期:2019-08-27 13:31:262016科比退役纪念章
日期:2022-04-24 14:33:24
7 [报告]
发表于 2011-07-09 00:36 |只看该作者
使用Epoch进行日期时间转换和计算的几个小函数
http://bbs.chinaunix.net/thread-1772999-1-1.html

评分

参与人数 1可用积分 +2 收起 理由
xiaopan3322 + 2 好文……值得收藏……

查看全部评分

论坛徽章:
15
2015年辞旧岁徽章
日期:2015-03-03 16:54:15双鱼座
日期:2015-01-15 17:29:44午马
日期:2015-01-06 17:06:51子鼠
日期:2014-11-24 10:11:13寅虎
日期:2014-08-18 07:10:55酉鸡
日期:2014-04-02 12:24:51双子座
日期:2014-04-02 12:19:44天秤座
日期:2014-03-17 11:43:36亥猪
日期:2014-03-13 08:13:51未羊
日期:2014-03-11 12:42:03白羊座
日期:2013-11-20 10:15:18CU大牛徽章
日期:2013-04-17 11:48:45
8 [报告]
发表于 2011-07-09 17:04 |只看该作者
  1. let d=`date +%s`/24/3600
  2. echo $d
复制代码

论坛徽章:
15
2015年辞旧岁徽章
日期:2015-03-03 16:54:15双鱼座
日期:2015-01-15 17:29:44午马
日期:2015-01-06 17:06:51子鼠
日期:2014-11-24 10:11:13寅虎
日期:2014-08-18 07:10:55酉鸡
日期:2014-04-02 12:24:51双子座
日期:2014-04-02 12:19:44天秤座
日期:2014-03-17 11:43:36亥猪
日期:2014-03-13 08:13:51未羊
日期:2014-03-11 12:42:03白羊座
日期:2013-11-20 10:15:18CU大牛徽章
日期:2013-04-17 11:48:45
9 [报告]
发表于 2011-07-09 17:06 |只看该作者
回复  267020090
lionfun 发表于 2011-07-08 19:05



天数的话,应该是个整数。
  1. awk 'BEGIN{print int(systime()/(24*3600))}'
复制代码
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP