51、如何从标准输入读取一个人的生日,计算并输出这个人的年龄?
可按以下步骤操作:
- 首先使用
DateTime::Format::Strptime模块将输入的日期解析成DateTime对象; - 然后从标准输入读取生日信息;
- 接着将输入的生日字符串解析为
DateTime对象; - 最后用当前日期减去生日日期得到
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;


782

被折叠的 条评论
为什么被折叠?



