うるう年かどうかを自分で計算しないために

なんかのシステムを作るとき閏年というものは鬱陶しいですが、閏年の計算式を暗記してるなんて脳味噌のスペース勿体無いです。

毎回、実装するなんて車輪です。自分で二の足を踏まないためにも、各言語で閏年の判定方法を集めてみました。

java

import java.util.GregorianCalendar;
public class Leap {
public static boolean isLeapYear(int y) {
return new GregorianCalendar().isLeapYear(y);
}
}

PHP5

<?php
//PHP5のみ
function is_leap_year($year) {
return idate("L", strtotime("1st January $year"));
}
?>

perl

#!/usr/bin/perl
use strict;
use warnings;
use Date::Simple qw();
sub is_leap_year {
return Date::Simple::leap_year(shift);
}

C#

using System;
//コンパイル環境が無くてコンパイルしてない;;
public class LeapYear
{
public static bool IsLeapYear(int year)
{
return DateTime.IsLeapYear(year));
}
}

ruby

require 'date'
def leapyear?(year)
Date.new(year).leap?
end

うわ! rubyのは何だかすごくcoolです。標準のDateクラスのインスタンスを年だけ指定して作れて、メソッドもleap?

驚き最小で驚いた。関数でラップすると逆に判りにくくなってしまっている感じさえします。

コメントする

メールアドレスが公開されることはありません。 が付いている欄は必須項目です


The reCAPTCHA verification period has expired. Please reload the page.

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください