如何将文件的AIX时间戳转换为EPOCH

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何将文件的AIX时间戳转换为EPOCH相关的知识,希望对你有一定的参考价值。

我想在以下文件上获取纪元日期格式:

-rw-rw----    1 informix informix   12247577 Jan 21 00:50 shop14_0_Log0001274968.Z

使用文件的统计信息,我获得以下文件日期信息。

stat shop14_0_Log0001274968.Z
  File: shop14_0_Log0001274968.Z
  Size: 12247577        Blocks: 23928      IO Block: 4096   regular file
Device: 800000640000000dh/9223372466351505421d  Inode: 410         Links: 1
Access: (0660/-rw-rw----)  Uid: (66001/informix)   Gid: ( 3000/informix)
Access: 2020-01-21 00:50:07.000000000 +0200
Modify: 2020-01-21 00:50:06.000000000 +0200
Change: 2020-01-21 00:50:08.000000000 +0200
 Birth: -

是否有更好的命令来提取文件上的日期信息,并使用该信息将其转换为AIX上的时代。如果我可以获得日期信息,将使用什么命令来执行需要检索的操作。

答案

您可以始终使用perl,例如:

#!/usr/bin/perl -w

use strict;

sub ftimestamp 
    my $fname= $_[0];
    my ($dev,$ino,$mode,$nlink,$uid,$gid,$rdev,$size,
        $atime,$mtime,$ctime,$blksize,$blocks)
        = stat($fname);
    printf ("%-20s: atime=%d mtime=%d ctime=%d\n", $fname, $atime, $mtime, $ctime);


my $arg;

foreach $arg (@ARGV) 
    ftimestamp ($arg);

以上是关于如何将文件的AIX时间戳转换为EPOCH的主要内容,如果未能解决你的问题,请参考以下文章

如何将时间戳从十六进制格式转换为 EPOCH 时间戳?

如何将表示 EPOCH 时间的整数转换为 Athena (Presto) 中的时间戳?

如何在 Redshift 中将时间戳(具有毫秒)转换为 EPOCH

如何在标准 SQL 中将 Epoch 时间戳转换为日期

Qt 时间戳从 Epoch(1970) 到 2000 年开始的 Postgresql 时间戳。如何添加偏移量并将毫秒转换为微秒?

AIX 转换时间戳