将日期字符串转换为日期时代UNIX AIX

问题描述 投票:-1回答:1

我正在使用AIX 5.3版本的OS服务器,我必须部署我在Linux(RedHat)中执行的shell,但是当我尝试操作某些时间戳时,我遇到了一个大问题。

在Linux中我使用:

`Start="Thu Mar 28 16:49:20 2019"` 
`date -d "$Start" +%s`

计算自1970年以来对应日期的秒数,但在UNIX AIX 5.3中,我收到以下错误:

date: Not a recognized flag: d
Usage: date [-u] [+"Field Descriptors"]

我如何在UNIX AIX中执行此操作?我需要计算自1970年以来特定日期的秒数(日期格式:2011年11月25日星期五02:11:53)

bash date unix unix-timestamp aix
1个回答
1
投票

使用Perl在AIX上将date转换为epoch:

#!/usr/bin/perl

# Usage: mkepoch yyyy mm dd HH MM SS

use Time::Local;
($yyyy, $mm, $dd, $HH, $MM, $SS)=@ARGV;
$tm=timelocal($SS, $MM, $HH, $dd, $mm - 1, $yyyy);
print "$tm\n";

用法:

chmod u+x ./mkepoch
Start="2019 03 28 16 49 20"
./mkepoch $Start

输出:

1553788160

资料来源:convert a specific date to unix timestamp

© www.soinside.com 2019 - 2024. All rights reserved.