Perl日期处理与模块对比

51、如何从标准输入读取一个人的生日,计算并输出这个人的年龄?

可按以下步骤操作:

  1. 首先使用 DateTime::Format::Strptime 模块将输入的日期解析成 DateTime 对象;
  2. 然后从标准输入读取生日信息;
  3. 接着将输入的生日字符串解析为 DateTime 对象;
  4. 最后用当前日期减去生日日期得到 DateTime::Duration 对象,调用其 years() 方法获取年龄并输出。

示例代码如下:

use strict;
use warnings;
use DateTime;
use DateTime::Format::Strptime;

my $datetime_formatter = DateTime::Format::Strptime->new(
    pattern => '%Y-%m-%d',
    time_zone => 'GMT',
);

print "Enter your birthday in YYYY-MM-DD format: ";
my $birthday = <STDIN>;
chomp($birthday);

my $birthday_date = $datetime_formatter->parse_datetime($birthday) or die "Could not parse birthday: $birthday";

my $duration = DateTime->now - $birthday_date;
printf "You are %d years old\n", $duration->years;

52、为什么从命令行运行age.pl程序的输出(有两行)在$stdout变量中没有显示为两行?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值