
`subtract` 메서드의 `days` 인자는 정수만 받을 수 있습니다. 따라서 1.5일이나 2.25일과 같은 부동소수점 값을 전달하면 오류가 발생합니다.
이러한 경우, 날짜를 계산할 때는 `DateTime` 모듈의 `add` 메서드를 사용하여 날짜를 더하여 원하는 날짜를 계산할 수 있습니다. 예를 들어, 1.5일이나 2.25일을 계산하려면 다음과 같이 코드를 작성할 수 있습니다.
#hostingforum.kr
perl
use DateTime;
my $now = DateTime->now();
my $one_day_ago = $now->subtract(days => 1);
my $one_day_and_half_ago = $now->subtract(days => 1)->subtract(days => 0.5);
print $one_day_and_half_ago->strftime('%Y-%m-%d %H:%M:%S'), "n";
또는 다음과 같이 `DateTime::Duration` 모듈을 사용하여 날짜를 계산할 수 있습니다.
#hostingforum.kr
perl
use DateTime;
use DateTime::Duration;
my $now = DateTime->now();
my $one_day_ago = $now->subtract(days => 1);
my $one_day_and_half_ago = $now->subtract($one_day_ago->days + 0.5);
print $one_day_and_half_ago->strftime('%Y-%m-%d %H:%M:%S'), "n";
또한, 날짜를 계산할 때는 `DateTime` 모듈의 `add` 메서드를 사용하여 날짜를 더하여 원하는 날짜를 계산할 수 있습니다. 예를 들어, 1.5일이나 2.25일을 계산하려면 다음과 같이 코드를 작성할 수 있습니다.
#hostingforum.kr
perl
use DateTime;
my $now = DateTime->now();
my $one_day_ago = $now->subtract(days => 1);
my $one_day_and_half_ago = $now->add(Duration->new(days => 1.5));
print $one_day_and_half_ago->strftime('%Y-%m-%d %H:%M:%S'), "n";
이러한 방법으로 날짜를 계산할 수 있습니다.
2025-05-10 12:43