日付の書式指定

今開発しているシステムで現在の日付でフォルダを作成する処理があるのだが、その処理で作られたフォルダの名前が12時間表記になっているとPマネに指摘された。そういやまったく意識した事がなかった。

ちなみにコードは以下(C#

Directory.CreateDirectory(
    DateTime.Now.ToString("yyyyMMddhhmmss")
);

じゃあ24時間表記に変更するかという事で早速リファレンスを引っ張ってみるが、うまいこと見つけられなかった。(あいかわらずMSDNはわかりにくい、書式指定関連は特にわかりにくい気がする)

こんな時は試しに書いてみた方が早いのでPowershellでいろいろいじってみた。

PS > [DateTime]::Now.ToString("yyyyMMddHHmmss")

「hh」を「HH」に変えたらできた。ついでにIronPythonでも試す。

>>> from System import DateTime
>>> DateTime.Now.ToString("yyyyMMddHHmmss")

ライブラリの使い方を調べたい時なんかは特にPowershellを重宝する。
思えば昔はコード書いて、保存して、コンパイルして、実行して、コード書いて・・・と繰り返していたんだから、その頃に比べると楽なこと、楽なこと。

もう少し込み入った事がしたいけど、C#で書く程ではないって時にはIronPythonという選択肢もあるし。シェル言語とスクリプト言語コンパイル言語がみんな同じライブラリを使えて、同じ結果を得られる。これって実はかなりすごい事なんじゃないだろうか?

DLRが作られたおかげで.NET上で動くスクリプト言語もこれからどんどん増えていくだろうし、(実際IronRuby、IronLISPなんかが作られている)C#3.0では関数型言語なんかの特徴も取り入れて、短くてイカスコードをがんがん書けるようになる。(LINQ、拡張メソッド、匿名型、ラムダ式型推論などなど)

これからが楽しみで仕方がない。