Linux只切换日期,linux – 如何只使用Busybox工具将具有指定月份的日期转换为unix时间戳?...

我正在一个我几乎只能访问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,date,busybox

来源: https://codeday.me/bug/20190809/1634360.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值