免费注册 查看新帖 |

Chinaunix

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

[日期时间] 关于 shell 中 时间值的使用和计算. [复制链接]

论坛徽章:
29
程序设计版块每日发帖之星
日期:2016-02-29 06:20:0015-16赛季CBA联赛之天津
日期:2016-08-10 10:33:1115-16赛季CBA联赛之深圳
日期:2016-08-17 15:07:2015-16赛季CBA联赛之佛山
日期:2016-11-07 11:33:5015-16赛季CBA联赛之广夏
日期:2016-11-15 09:13:31CU十四周年纪念徽章
日期:2016-11-24 14:12:25极客徽章
日期:2016-12-07 14:03:4015-16赛季CBA联赛之深圳
日期:2016-12-07 17:15:2715-16赛季CBA联赛之北京
日期:2016-12-22 09:30:0115-16赛季CBA联赛之深圳
日期:2016-12-22 10:49:2115-16赛季CBA联赛之山西
日期:2017-02-10 09:05:3215-16赛季CBA联赛之同曦
日期:2017-02-27 14:19:08
21 [报告]
发表于 2014-02-20 23:23 |只看该作者
总结很到位,知道肯定不能直接加减的, 有了这个帮助很大

论坛徽章:
0
22 [报告]
发表于 2014-02-21 17:47 |只看该作者
YES_DAY=`date +%F -d @$((CUR_TIME - 86400))`  @$----这个用法是什么意思?还请指教

论坛徽章:
0
23 [报告]
发表于 2014-02-21 17:57 |只看该作者
哦,学习啦!

论坛徽章:
33
荣誉会员
日期:2011-11-23 16:44:17天秤座
日期:2014-08-26 16:18:20天秤座
日期:2014-08-29 10:12:18丑牛
日期:2014-08-29 16:06:45丑牛
日期:2014-09-03 10:28:58射手座
日期:2014-09-03 16:01:17寅虎
日期:2014-09-11 14:24:21天蝎座
日期:2014-09-17 08:33:55IT运维版块每日发帖之星
日期:2016-04-17 06:23:27操作系统版块每日发帖之星
日期:2016-04-18 06:20:00IT运维版块每日发帖之星
日期:2016-04-24 06:20:0015-16赛季CBA联赛之天津
日期:2016-05-06 12:46:59
24 [报告]
发表于 2014-02-21 19:01 |只看该作者
回复 22# hebhnd

@后面跟的是 timestamp, 相当于 `date +%s` 的结果
   

论坛徽章:
18
辰龙
日期:2014-05-21 21:01:4115-16赛季CBA联赛之深圳
日期:2016-12-23 13:51:3815-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:0020周年集字徽章-年
日期:2023-04-23 11:17:52
25 [报告]
发表于 2014-02-21 19:35 |只看该作者
本帖最后由 bikkuri 于 2014-02-21 12:58 编辑

哪需要那么啰嗦的还编程序还时间戳减86400的,一条date -d-1 +%F或者date -d "1 day ago" +%F命令不就解决了么?
  1. root@jinx:/tmp# date  +%F
  2. 2014-02-21
  3. root@jinx:/tmp# date -d-1 +%F
  4. 2014-02-20
  5. root@jinx:/tmp#
复制代码
要是喜欢86400秒的话,你写date  -d "86400 seconds ago" +%F也行啊。

论坛徽章:
33
荣誉会员
日期:2011-11-23 16:44:17天秤座
日期:2014-08-26 16:18:20天秤座
日期:2014-08-29 10:12:18丑牛
日期:2014-08-29 16:06:45丑牛
日期:2014-09-03 10:28:58射手座
日期:2014-09-03 16:01:17寅虎
日期:2014-09-11 14:24:21天蝎座
日期:2014-09-17 08:33:55IT运维版块每日发帖之星
日期:2016-04-17 06:23:27操作系统版块每日发帖之星
日期:2016-04-18 06:20:00IT运维版块每日发帖之星
日期:2016-04-24 06:20:0015-16赛季CBA联赛之天津
日期:2016-05-06 12:46:59
26 [报告]
发表于 2014-02-24 06:55 |只看该作者
回复 25# bikkuri

呵呵, 你说的方法当然也可以.

只不过, 有时候我们并不一定需要的是整数的天呀? 所以, 这样写是最通用的做法.

还有, 如果我需要明天的日期, 像您这样的写法, 要怎么写呀?
   

论坛徽章:
18
辰龙
日期:2014-05-21 21:01:4115-16赛季CBA联赛之深圳
日期:2016-12-23 13:51:3815-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:0020周年集字徽章-年
日期:2023-04-23 11:17:52
27 [报告]
发表于 2014-02-24 10:08 |只看该作者
本帖最后由 bikkuri 于 2014-02-24 10:19 编辑

不是整天的日期,你完全可以用秒啊?我上面不是已经给出了一个用秒的例子?
  1. [root@hp8 ~]# date -d "1000000000 seconds ago" +%F
  2. 1982-06-18
  3. [root@hp8 ~]# date -d "1000000000 minutes ago" +%F
  4. 0112-10-28
  5. [root@hp8 ~]# date -d "1000000000 hours ago" +%F
  6. -112066-09-10
  7. [root@hp8 ~]#
复制代码
明天的日期就更简单了啊!
  1. [root@hp8 ~]# date -d "tomorrow" +%F
  2. 2014-02-25
  3. [root@hp8 ~]#
复制代码
没必要老去重新发明轮子吧?

回复 26# q1208c


   

论坛徽章:
33
荣誉会员
日期:2011-11-23 16:44:17天秤座
日期:2014-08-26 16:18:20天秤座
日期:2014-08-29 10:12:18丑牛
日期:2014-08-29 16:06:45丑牛
日期:2014-09-03 10:28:58射手座
日期:2014-09-03 16:01:17寅虎
日期:2014-09-11 14:24:21天蝎座
日期:2014-09-17 08:33:55IT运维版块每日发帖之星
日期:2016-04-17 06:23:27操作系统版块每日发帖之星
日期:2016-04-18 06:20:00IT运维版块每日发帖之星
日期:2016-04-24 06:20:0015-16赛季CBA联赛之天津
日期:2016-05-06 12:46:59
28 [报告]
发表于 2014-02-24 10:24 |只看该作者
回复 27# bikkuri


我说的重点, 不在于用什么方式取得昨天, 明天的日期, 而是在于, 要用你在 shell开始执行时取得的那个时间做为基础.

而这个基础, 为了方便计算其它的时间情况, 我才选择了秒做为基本单位, 所以, 才有了所有的以秒为单位的计算.

在 shell 这一块, 我没有发明的能力, 充其量是会用而已.

感谢您的建议 !!
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP