linux – 如何只使用Busybox工具将具有指定月份的日期转换为unix时间戳?
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了linux – 如何只使用Busybox工具将具有指定月份的日期转换为unix时间戳?,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1404字,纯文字阅读大概需要3分钟。
内容图文
![linux – 如何只使用Busybox工具将具有指定月份的日期转换为unix时间戳?](/upload/InfoBanner/zyjiaocheng/959/4451058c0c5c4c93afb316efc4576703.jpg)
我正在一个我几乎只能访问busybox工具的环境中工作,并尝试将格式为Mon 1月1日格林威治标准时间23:59:59的日期转换为shell脚本中的unix时间戳.我无法更改我正在解析的输入时间的格式.似乎busybox日期无法理解此日期格式或任何其他具有命名月份的格式.我有一个非常丑陋的脚本可以做到这一点,但有没有人知道更好的东西?
编辑:日期-D选项对我不起作用,我明白了
date: invalid option -- 'D'
BusyBox v1.24.1 (2018-01-11 16:07:45 PST) multi-call binary.
Usage: date [OPTIONS] [+FMT] [TIME]`
解决方法:
busybox date2完全能够使用一些help1解析给定字符串中的日期(GMT时区除外).
$gdate='Mon Jan 1 23:59:59 2018 GMT'
$TZ=GMT0 busybox date -d "$gdate" -D '%a %b %d %T %Y %Z'
Mon Jan 1 23:59:59 GMT 2018
使用-D选项提供帮助:源格式的描述.
要获取UNIX时间戳,只需添加期望’%s’的输出格式:
$ TZ=GMT0 busybox date -d "$gdate" -D '%a %b %d %T %Y %Z' +'%s'
1514851199
1
busybox日期具有GNU date命令的大部分功能,而GNU date命令则不具备:-D选项.获取busybox帮助,如下所示:
$busybox date --help
BusyBox v1.27.2 (Debian 1:1.27.2-2) multi-call binary.
Usage: date [OPTIONS] [+FMT] [TIME]
Display time (using +FMT), or set time
06003
注意-D FMT选项.
2
请注意,您可以通过两种方式调用busybox日期:
$busybox date
或者,如果在正确的PATH目录中安装了名为date的busybox链接:
$date
要验证,只需要–version或–help找出您已安装的日期.
使用GNU日期:
$date --version
date (GNU coreutils) 8.28
或(busybox日期):
$date --help
BusyBox v1.27.2 (Debian 1:1.27.2-2) multi-call binary.
…
…
内容总结
以上是互联网集市为您收集整理的linux – 如何只使用Busybox工具将具有指定月份的日期转换为unix时间戳?全部内容,希望文章能够帮你解决linux – 如何只使用Busybox工具将具有指定月份的日期转换为unix时间戳?所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。