我已经在互联网上搜索了一段时间,但似乎找不到正确的答案(也许有,但我不明白)。
我有这段代码来读取文件并获取日期时间(来自任务计划程序查询)。
File.txt 包含任务计划程序查询。
"TaskName","Next Run Time","Status"
"CheckFile","20:33:00, 17/1/2013",""
========================================
用于读取获取下一个运行时间值的脚本。
open (FILE, "<", $file) || print "WARN: Cannot open $file: $!";
@logLines = <FILE>;
if (@list = grep(/\b$keyword\b/, @logLines)) {
foreach(@list){$result = $_;}
my @sresult = split(/(?<="),(?=")/, $result);
$name = $sresult[0];
$name =~ tr/"//d;
$next_run = $sresult[1];
$next_run =~ tr/"//d;
print $next_run;
}
@list=();
@dFormat=();
@logLines=();
close FILE;
输出将是:
20:33:00, 17/1/2013
我想将输出修改为:
20:33:00, 2013-1-17 #note that I can do this just by splitting up and rearranging the numbers.
但问题是,任务计划程序查询中的 17/1/2013 取决于区域设置。它可能在以下位置:
- 2013 年 1 月 17 日
- 17/1/2013
- 2013/1/17
- 2013 年 1 月 17 日
- 2013 年 17 月 1 日
- 2017 年 13 月 1 日
- 1-17-2013
- 17-1-2013
- 2013-1-17
- 1-17-13
- 17-1-13
- 13-1-17
- 1.17.2013
- 17.1.2013
- 2013.1.17
- 1.17.13
- 17.1.13
- 13.1.17
有没有可以做我想做的任何 cpan 模块?你能给出一个关于如何实现这一目标的脚本吗?
请不要严厉评论。谢谢。