【问题标题】:Unix - Invalid character in date/time specificationUnix - 日期/时间规范中的无效字符
【发布时间】:2020-04-14 12:40:01
【问题描述】:

我正在尝试查找本月的最后一天。 DDMMYYYY 格式的日期。

#!/bin/bash

start_date=01092018

end_date=$(date +%m%Y -d "$start_date +1 month")
echo $end_date

预期结果:30092018

但它给出了以下错误: Invalid character in date/time specification. Usage :date [-u] [+Field Descriptors]

【问题讨论】:

  • Aix!date 不知道 GNU 扩展。您可以使用 Perl 进行此类计算。示例:github.com/lzsiga/pldateperl pldate set 20180901 add-month 1 printf %m%Y

标签: date unix aix invalid-characters


【解决方案1】:

AIX 日期不支持-d。所以你不能使用像date -d 这样的结构。供参考,您可以查看AIX date man page

你可以在 perl 中尝试一些东西:

perl -MPOSIX -le '@x=localtime; if($x[4]!=0) {$x[4]++} else {$x[4]=11;$x[5]++};print strftime ("%Y-%m-%d", @x)'

【讨论】:

    猜你喜欢
    • 2015-02-07
    • 2011-11-09
    • 2013-07-29
    • 2013-04-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-08-11
    • 1970-01-01
    相关资源
    最近更新 更多