perl - 如何将日期转换为纪元时间?

标签 perl

我有一个巨大的格式文件:

29/01/2010 18:00 string1 string2 .....

30/01/2010 18:30 string3 string4 .....

...

...

dd/mm/yyyy hh:MM strings strings....

我需要根据日期进行一些统计。

所以我想用文件中的纪元时间替换字符串 dd/mm/yyyy hh:MM 以执行简单的操作。

我想最好的方法是使用 Perl,但我真的不知道从哪里开始。有什么提示吗?

最佳答案

就这样?这个快速而肮脏的单行应该做:

perl -MPOSIX -pwe 's{^(\d{2})/(\d{2})/(\d{4}) (\d{2}):(\d{2}) }{mktime(0,$5,$4,$1,$2-1,$3-1900)." "}e;'

将文件输入标准输入,它会将更改后的版本输出到标准输出。它所做的只是查找以“dd/mm/yyyy hh:mm ”开头的行,并将日期组件提供给 POSIX 模块中的 mktime 函数获取 unix 时间戳。

关于perl - 如何将日期转换为纪元时间?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5166992/

相关文章:

python - 多台主机上的并行 rsync

Perl:在/Date/Manip.pm 处使用数字 lt (<) 中的未初始化值

perl - perl 中的 xargs 等价物

perl - 如何检索创建的流程输出及其返回值?

python - 如果 file1 的第一列与 file2 中的任何字符串匹配,则将其替换为 file1 的第二列

windows - 如何转换 perl 中的语言? (Slack 和 VisualSVN 服务器)

perl - Perl中的矩阵矩阵

perl - 为什么 Perl 在递增后打印出我不期望的值?

Perl,从文本文件第 2 列中的每个值中减去 8

perl - 使用假文件名时,Perl Template-Toolkit不会报告错误