C#の年月(Y)形式指定子の使い方をわかりやすく解説
C#における「Y」形式指定子は、日付を年と月のみで表示するためのカスタム日時書式指定文字列です。たとえば「September 2018」のように、月名と年を組み合わせて出力したい場合に便利です。
Y形式指定子の定義
「Y」形式指定子の実際の出力パターンは、DateTimeFormatInfo.YearMonthPattern プロパティによって定義されています。既定では、次のカスタム書式指定文字列に対応しています。
yyyy MMMM
yyyy… 年を4桁で表示MMMM… 月の完全な名前を表示
サンプルコード
以下は、「Y」形式指定子を使って日付を年月形式で表示する例です。カルチャとして en-US(英語・米国)を指定しています。
using System;
using System.Globalization;
class Demo {
static void Main() {
DateTime date = new DateTime(2018, 9, 7, 7, 55, 20);
Console.WriteLine(date.ToString("Y", CultureInfo.CreateSpecificCulture("en-US")));
}
}実行結果
September 2018
ポイント
カルチャを変更すると、出力される月名やパターンも変わります。たとえば日本語カルチャ(ja-JP)を指定すれば、日本語の年月表記に対応した形式で表示されます。国際化対応アプリケーションでは、カルチャを意識して形式指定子を使うことが重要です。
-
JavaのSimpleDateFormatクラスで年をフォーマット・解析する方法を徹底解説
SimpleDateFormatクラスとはjava.text.SimpleDateFormatクラスは、文字列を日付(Date)に変換したり、日付を指定した形式の文字列にフォーマットしたりするために使用されるクラスです。日付文字列を解析(パース)する基本的な手順は以下の通りです。希望するフォーマット文字列を引数に渡して、SimpleDateFormatクラスをインスタンス化します。parse()メソッドを使って、日付文字列をDateオブジェクトとして解析します。基本的な使用例import java.text.ParseException; import java.text.SimpleDate
-
Pythonで日付文字列をYYYY-MM-DD形式に変換する方法【サンプルコード付き】
Pythonでは、「23rd Jan 2021」のような日付文字列を標準的な「YYYY-MM-DD」形式に変換したい場面がよくあります。本記事では、日が「1st、2nd、…、30th、31st」といった序数表現、月が「Jan、Feb、…、Nov、Dec」といった英語略称、年が1900〜2100の範囲の4桁の数値で構成される日付文字列を想定し、これを「YYYY-MM-DD」形式へ変換するプログラムを解説します。 例えば、入力が date = 23rd Jan 2021 の場合、出力は 2021-01-23 となります。 変換の手順 この問題は、以下の手順で解決できます。 月名のリスト Mont