Korzystanie z doskonałego modułu Perl DateTime jest trywialne, aby uzyskać numer roku i tygodnia dla daty, ale przejście w drugą stronę wydaje się być nieco trudniejsze. W jaki sposób można uzyskać datę zaczynającą się od numeru roku i tygodnia?Perl: Biorąc pod uwagę numer roku i tygodnia, jak mogę uzyskać pierwszą datę w tym tygodniu?
Odpowiedz
Spróbuj:
use Date::Calc qw(:all);
my $year = 2012;
my $week = 14;
my ($year2, $month, $day) = Monday_of_Week($week, $year);
Tak zawsze to robiłem. – tchrist
To jest prostsze niż moja wersja DateTime, ale jeśli już używasz DateTime, prawdopodobnie nie chcesz pobierać Date :: Calc tylko po to. Nie jest to trudne z DateTime. – cjm
Dziękuję wam. Nie mam nic przeciwko dodaniu Date :: Calc do listy modułów. Przyjmuję to Data: Calc podąża za tą samą regułą ISO "czwartego dnia stycznia" jako DateTime. Och, cholera. Pójdę do RTFM. :-) Dzięki jeszcze raz. –
Oto jeden ze sposobów, aby to zrobić używając tylko 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";
- 1. Jak uzyskać numer miesiąca z numeru roku i tygodnia w języku C#?
- 2. Python: Biorąc pod uwagę ciąg znaków, który jest nazwą dnia tygodnia, jak określić dzień tygodnia jako dziesiętny (i datę następną).
- 3. PHP: Jak uzyskać niedzielę i sobotę, biorąc pod uwagę datę wejścia?
- 4. Otrzymasz aktualną datę, biorąc pod uwagę strefę czasową w PHP?
- 5. liczba tygodni w roku, trochę
- 6. Biorąc pod uwagę PID dziecka, jak uzyskać rodzic PID
- 7. pobierz datę rozpoczęcia i zakończenia tygodnia od numeru tygodnia i roku w Androidzie
- 8. Oblicz numer tygodnia (0-53) w roku
- 9. Jak uzyskać rozsądną datę rozpoczęcia i zakończenia tygodnia w angularjs
- 10. Jak wybrać tekst RichTextBox, biorąc pod uwagę indeks i długość
- 11. Czy otrzymasz w tym tygodniu datę w Postgres?
- 12. Znajdź konkretną datę w bieżącym tygodniu
- 13. Biorąc pod uwagę styl DependencyObject WPF, jak mogę uzyskać klucz stylu w kodzie?
- 14. Jak zrobić LIKE biorąc pod uwagę dwie kolumny?
- 15. Pierwsze wiersza i kolumny trójkątnej Matrix, biorąc pod uwagę Index
- 16. Jak zabić proces w Javie, biorąc pod uwagę konkretny PID
- 17. Symfony2: Jak zweryfikować jednostkę, biorąc pod uwagę aktualnie zalogowanego użytkownika?
- 18. Biorąc pod uwagę liczbę, jak znaleźć najbliższy numer w serii danych zmiennoprzecinkowych
- 19. Jak renderować płynną ścieżkę, biorąc pod uwagę zestaw punktów danych?
- 20. Biorąc pod uwagę wartość jakiegoś typu zależnego od ścieżki, jak mogę uzyskać instancję "kontenera"?
- 21. Jak wrócić miesiąc w Perlu biorąc pod uwagę różne dni w miesiącu?
- 22. Biorąc pod uwagę tablicę i predykat, znajdź pierwszy pasujący element.
- 23. Excel VBA: Jak rozszerzyć zakres Biorąc pod uwagę bieżący Wybór
- 24. Biorąc pod uwagę adres IP i maskę sieci, jak mogę obliczyć adres sieciowy za pomocą bash?
- 25. Jak przekonwertować HttpRequestBase na HttpRequestMessage, biorąc pod uwagę nazwy nagłówków?
- 26. Biorąc pod uwagę instancję typu, jak uzyskać ogólną nazwę typu w języku C#?
- 27. Jak mogę uzyskać datę pierwszej sekundy roku z SQL?
- 28. Oblicz datę początkową i końcową poprzedniego tygodnia
- 29. Biorąc pod uwagę nazwę akcji htmlHelper +, jak określić nazwę kontrolera?
- 30. Jak przekonwertować numer tygodnia na datę w JavaScript
Jakie inne moduły nie spróbować? – tchrist