$dt->day_abbr;出力するためにエンコードする月名や曜日名を取得したとき、そこで使われている文字はUTF-8フラグが立っています。UTF-8フラグが立っているということは、Perlが文字列を内部表現で扱かっているということです。画面やファイルに出力する時は、UTF-8フラグを落とす必要があります。エンコードして文字列を内部表現から外部表現に変換する必要があります。それ以外のOSの人は、UTF-8で出力するようにしてあります。UTF-8フラグが立っているので、エンコードする。"\n");ロケール指定のためのクラスDateTimeのコンストラクタの引数でロケール名を指定することができます。DateTime::Locale->load('ja');DateTimeはコンストラクタの中で、DateTime::Localeオブジェクトを生成しています。生成したロケールオブジェクトに基づいて地域や国ごとの日付情報の出力を作ります。DateTime::Locale->load('ja');明示的にDateTime::Localeオブジェクトを作成するには、loadメソッドを使用します。loadメソッドは、初回はDateTime::Localeオブジェクトを作成しますが、2回目以降はメモリに保存したDateTime::Localeオブジェクトを再利用します。プログラム中で'ja'を表現するDateTime::Localeオブジェクトは常に存在しないかたったひとつであるかのどちらかです。このようなオブジェクトをsingleton(シングルトン)と呼びます。DateTime::TimeZoneオブジェクトのように毎回作成されるわけではありません。ロケールオブジェクトをコンストラクタに渡すロケールオブジェクトをDateTimeのコンストラクタに渡すには、以下のようにします。'local');のように、文字列で指定するのが楽です。書くと、DateTimeのコンストラクタの中で自動的にDateTime::Localeオブジェクトが作成されます。まとめて取得するDateTimeを使って、日付や時刻の情報を得ることができます。さまざまなフォーマットで取得できます。引数で区切り文字を指定することができます。引数を省略すると、年月日の情報の場合は-で連結され、時刻情報の場合は:で連結されます。月末日の取得DateTimeはうるう年を判定するメソッド、月末日を取得するメソッドを持っています。11);うるう年かどうかを判定する。うるう年かどうかを判定するにはis_leap_yearメソッドを使用します。$dt1->is_leap_year;月末日を取得する月末日を取得するには、last_day_of_monthメソッドを使用します。指定すると、月末日を表現するDateTimeオブジェクトが返却されます(月末日そのものが返却されるわけではありません)。返却されたDateTimeオブジェクトからからdayメソッドで日付を取得します。11);日付の書式指定「strftime」メソッド日付を書式化するためのはstrftimeメソッドを使用します。引数には、書式指定子を渡します。$dt->strftime("%a");以下のように文字列を組み合わせて複数指定することもできます。$dt->strftime("%Y-%m-%d");strftime書式指定子一覧strftimeの書式指定子一覧です。)の2桁目はスペースになる。年の最初から初めて何日目か。)の2桁目はスペースになる。)の2桁目はスペースになる。