Perl: Учитывая номер года и недели, как я могу получить первое свидание на этой неделе? - PullRequest
9 голосов
/ 24 февраля 2012

Используя превосходный модуль Perl DateTime , получить год и номер недели для даты тривиально, но пойти другим путем, кажется, немного сложнее. Как можно получить дату, начинающуюся с номера года и недели?

Ответы [ 2 ]

12 голосов
/ 24 февраля 2012

Вот один из способов сделать это, используя только DateTime :

use DateTime;

sub first_day_of_week
{
  my ($year, $week) = @_;

  # Week 1 is defined as the one containing January 4:
  DateTime
    ->new( year => $year, month => 1, day => 4 )
    ->add( weeks => ($week - 1) )
    ->truncate( to => 'week' );
} # end first_day_of_week


# Find first day of second week of 2012 (2012-01-09):
my $d = first_day_of_week(2012, 2);

print "$d\n";
11 голосов
/ 24 февраля 2012

Попробуйте:

use Date::Calc qw(:all);

my $year = 2012;
my $week = 14;
my ($year2, $month, $day) = Monday_of_Week($week, $year);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...