,可以使用内置的time函数和localtime函数来实现。
my $timestamp = time;
my @local_time = localtime($timestamp);
my $formatted_time = sprintf("%04d-%02d-%02d %02d:%02d:%02d", $local_time[5]+1900, $local_time[4]+1, $local_time[3], $local_time[2], $local_time[1], $local_time[0]);
在上述代码中,$local_time[5]+1900表示年份,$local_time[4]+1表示月份(注意月份从0开始),$local_time[3]表示日期,$local_time[2]表示小时,$local_time[1]表示分钟,$local_time[0]表示秒。
use Time::Local;
my $date_string = "2022-01-01 12:00:00";
my ($year, $month, $day, $hour, $minute, $second) = $date_string =~ /(\d+)-(\d+)-(\d+) (\d+):(\d+):(\d+)/;
my $timestamp = timelocal($second, $minute, $hour, $day, $month-1, $year);
在上述代码中,使用正则表达式从日期和时间字符串中提取年、月、日、时、分、秒的值,然后调用timelocal函数将其转换为时间戳。
总结: 在Perl中,可以使用time函数获取当前时间戳,使用localtime函数将时间戳转换为本地时间的日期和时间表示,使用sprintf函数进行格式化输出,使用Time::Local模块中的timelocal函数将日期和时间字符串转换为时间戳。以上是在Perl中转换时间戳的基本方法。
DBTalk
云原生正发声
数字化产业研学汇第三期
云+社区技术沙龙[第29期]
Elastic 实战工作坊
腾讯技术创作特训营第二季
Elastic 实战工作坊
API网关系列直播
领取专属 10元无门槛券
手把手带您无忧上云