免费注册 查看新帖 |

Chinaunix

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

[日期时间] 如何把字符串格式的时间转成可以比较的数字? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2013-12-12 15:46 |只看该作者 |倒序浏览
现在,我从某个cer证书里,用openssl获得了该证书的有效期。

$ openssl x509 -inform DER -in test.cer -noout -enddate

notAfter=Feb 22 06:14:20 2014 GMT

过滤掉等号前面的部分,命令可以写成:

$ openssl x509 -inform DER -in test.cer -noout -enddate|sed "s/^.*=//"

Feb 22 06:14:20 2014 GMT

得到的结果,就是该证书过期的日期和时间。

现在我要用这个字符串和当前时间做比较。

有没有什么方法,可以把这个字符串给转化成可以比较的格式?

论坛徽章:
1
2015年迎新春徽章
日期:2015-03-04 09:58:11
2 [报告]
发表于 2013-12-12 15:51 |只看该作者
  1. [root@everIover ~]# echo `date -d "Feb 22 06:14:20 2014 GMT" +%s`-`date +%s` |bc
  2. 6215031
  3. 得到的是多少秒
复制代码

论坛徽章:
32
处女座
日期:2013-11-20 23:41:20双子座
日期:2014-06-11 17:20:43戌狗
日期:2014-06-16 11:05:00处女座
日期:2014-07-22 17:30:47狮子座
日期:2014-07-28 15:38:17金牛座
日期:2014-08-05 16:34:01亥猪
日期:2014-08-18 13:34:25白羊座
日期:2014-09-02 15:03:55金牛座
日期:2014-11-10 10:23:58处女座
日期:2014-12-02 09:17:52程序设计版块每日发帖之星
日期:2015-06-16 22:20:002015亚冠之塔什干火车头
日期:2015-06-20 23:28:22
3 [报告]
发表于 2013-12-12 15:51 |只看该作者
  1. [root@localhost ~]# date -d 'Feb 22 06:14:20 2014 GMT' +%s
  2. 1393049660
  3. [root@localhost ~]#
复制代码

论坛徽章:
0
4 [报告]
发表于 2013-12-12 16:00 |只看该作者
回复 3# yestreenstars
  1. wayne:~ dyd$ date -d 'Feb 22 06:14:20 2014 GMT' +%s
  2. usage: date [-jnu] [-d dst] [-r seconds] [-t west] [-v[+|-]val[ymwdHMS]] ...
  3.             [-f fmt date | [[[mm]dd]HH]MM[[cc]yy][.ss]] [+format]
  4. wayne:~ dyd$
复制代码

论坛徽章:
0
5 [报告]
发表于 2013-12-12 16:01 |只看该作者
我是苹果笔记本的OS X系统。不知道为神马,运行你们给的命令,出现USAGE了。

论坛徽章:
95
程序设计版块每日发帖之星
日期:2015-09-05 06:20:00程序设计版块每日发帖之星
日期:2015-09-17 06:20:00程序设计版块每日发帖之星
日期:2015-09-18 06:20:002015亚冠之阿尔艾因
日期:2015-09-18 10:35:08月度论坛发贴之星
日期:2015-09-30 22:25:002015亚冠之阿尔沙巴布
日期:2015-10-03 08:57:39程序设计版块每日发帖之星
日期:2015-10-05 06:20:00每日论坛发贴之星
日期:2015-10-05 06:20:002015年亚冠纪念徽章
日期:2015-10-06 10:06:482015亚冠之塔什干棉农
日期:2015-10-19 19:43:35程序设计版块每日发帖之星
日期:2015-10-21 06:20:00每日论坛发贴之星
日期:2015-09-14 06:20:00
6 [报告]
发表于 2013-12-12 16:03 |只看该作者
animama88 发表于 2013-12-12 16:01
我是苹果笔记本的OS X系统。不知道为神马,运行你们给的命令,出现USAGE了。

应该是你的这个 date 不支持这种用法,查查它的手册吧,看看有没有类似的方法。

论坛徽章:
32
处女座
日期:2013-11-20 23:41:20双子座
日期:2014-06-11 17:20:43戌狗
日期:2014-06-16 11:05:00处女座
日期:2014-07-22 17:30:47狮子座
日期:2014-07-28 15:38:17金牛座
日期:2014-08-05 16:34:01亥猪
日期:2014-08-18 13:34:25白羊座
日期:2014-09-02 15:03:55金牛座
日期:2014-11-10 10:23:58处女座
日期:2014-12-02 09:17:52程序设计版块每日发帖之星
日期:2015-06-16 22:20:002015亚冠之塔什干火车头
日期:2015-06-20 23:28:22
7 [报告]
发表于 2013-12-12 16:12 |只看该作者
回复 5# animama88
爱莫能助了~穷人只用得起Windows系统和Linux系统~

   

论坛徽章:
0
8 [报告]
发表于 2013-12-12 16:27 |只看该作者
好吧。谢谢你们。

一堆英文的man文档我看不懂。

论坛徽章:
0
9 [报告]
发表于 2013-12-12 17:22 |只看该作者
date -j -f "%b %d %T %Y %Z" "Feb 22 06:14:20 2014 GMT"

我的MAC OS 用这条命令可以转化这个时间的。

但是OS X下的终端里面,%b显示的数字格式的月份,比如12,而不是Dec。%B是“十二月”汉字形式的月份。

GMT和CST还是无法转换。

求救。

论坛徽章:
769
金牛座
日期:2014-02-26 17:49:58水瓶座
日期:2014-02-26 18:10:15白羊座
日期:2014-04-15 19:29:52寅虎
日期:2014-04-17 19:43:21酉鸡
日期:2014-04-19 21:24:10子鼠
日期:2014-04-22 13:55:24卯兔
日期:2014-04-22 14:20:58亥猪
日期:2014-04-22 16:13:09狮子座
日期:2014-05-05 22:31:17摩羯座
日期:2014-05-06 10:32:53处女座
日期:2014-05-12 09:23:11子鼠
日期:2014-05-21 18:21:27
10 [报告]
发表于 2013-12-12 17:47 |只看该作者
回复 9# animama88

楼主贴一下你的系统里man date的
完整结果吧。
也许有大神愿意解读下,然后看看能不能
修改下上面的这些date命令。


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

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP