14)の補完文字列についての記述を追加したものです。14で動作を確認しました。Frameworkのクラスライブラリでは、日付や時刻の情報は、DateTime構造体(System名前空間)を使って扱うことができる。本稿では、このDateTimeオブジェクトを指定した形式の文字列に変換するための基本的な方法について示す。string)という機能を使うことで、同じ内容のコードをより簡潔に記述することも可能だ。補間文字列を使用したコードを知りたい方はこちらを参照してほしい。標準書式指定とカスタム書式指定DateTime構造体には、日付や時刻の情報を文字列に変換するために、大きく次の三つの方法がある。いずれにせよ、(1)と(2)の方法はカルチャ情報に依存した文字列が出力される。PM」といった値となる。DateTime.Now.ToString("F")現在の時刻を完全な日付と時刻のパターン(長い形式の時刻)に変換するコードカルチャ情報に依存した文字列表記は、単純に日時を画面に表示したい場合などには便利であるが、日時を文字列に変換してデータ項目の一つとして利用したいような場合(例えば、ファイル名として使用するために「20040824202306」という文字列を得たい場合)などには使えない。このような場合には、(3)のカスタム書式指定文字列による文字列変換を利用すると、その出力形式を自由に指定できる。カスタム書式指定文字列による変換カスタム書式指定文字列では、書式指定子の組み合わせにより、独自の出力形式でDateTimeオブジェクトを文字列に変換できる。次の例では、その結果が「20040824202306」などとなる。上表の中では、月が「MM」、分が「mm」と、どちらも同じ「エム」であることに注意が必要だ。曜日に置き換わる「ddd」および「dddd」の二つはカルチャ情報に依存している。「火曜日」は、英語環境では「Tue」および「Tuesday」となる。カスタム書式指定文字列を使用したサンプルプログラム上記の書式指定子を使用してDateTimeオブジェクトを文字列に変換している簡単なサンプルプログラムを次に示す。customdate.csカスタム書式指定文字列を使用したC#のサンプルプログラム(customdate.csファイル)customdate.csファイルのダウンロードはこちらから。customdate.vbカスタム書式指定文字列を使用したVB.NETのサンプルプログラム(customdate.vbファイル)customdate.vbファイルのダウンロードはこちらから。各サンプルプログラムの後半は、書式指定項目(インデックス付きのプレースホルダー)を使用した例である(書式指定項目についての詳細はMSDNの「複合書式指定」を参照)。TIPS:日付や時刻の文字列をDateTimeオブジェクトに変換するには?」で示している。14では「補間文字列」を使用することで、より簡潔な記述で、DateTime構造体を文字列に変換できる。補間文字列は先の例の後半で使用している複合書式指定における書式指定項目のインデックス(「{0}」「{1}」における「0」「1」など)の部分に直接、変数や式などを記述するものだと考えると分かりやすい。文字列の先頭には「$」記号を付加する。補間式に指定した要素が評価され、その結果が文字列に埋め込まれる。「F」(完全な日付と時刻のパターン。長い形式の時刻)を使用して、現在の時刻をコンソールに表示するには次のようにする。使用したサンプル(上:C#、下:VB)カスタム書式指定文字列を指定した場合の例は次のようになる。使用したサンプル(上:C#、下:VB)これは「カスタム書式指定文字列による変換」の冒頭で見た書式指定子をそのまま使っている。異なるものだけをピックアップしてある)。interpolateddate.vb補間文字列を使用して書き直したコード(上:C#/下:VB)interpolateddate.csファイルのダウンロードはこちらから。interpolateddate.vbファイルのダウンロードはこちらから。余談だが、上記のコードで変数nowに現在時刻を入れているが、補間文字列の補間式には次のように任意の式を記述してもよい(ただし、時間の扱いを厳密にするのであれば、上のサンプルコードのように一度変数に現在時刻を保存しておくべきである)。ここではコード例はC#のみとする。14の補間文字列に対応した記述を追加しました。【2004/09/02】関連TIPSとして「TIPS:日付や時刻の文字列をDateTimeオブジェクトに変換するには?」についての記述を追加しました。【2004/08/27】初版公開。メールマガジンをご購読ください。Japanスマートジャパン3Dモデラボキャリア@IT自分戦略研究所エンジニアライフディルバートアプリITmediaねとらぼねこらぼついトピ!ITmediaはアイティメディア株式会社の登録商標です。