(vb.net)DateTime構造体の特定の部分だけ値を変えたい時
たとえば現在日時を取得し、時間だけ変えたいという時はこんな書き方ができます。

Dim dt As DateTime = DateTime.Now()
Console.WriteLine(dt.ToString())
dt = DateTime.Parse(dt.ToString("yyyy/MM/dd 12:01:00"))

Console.WriteLine(dt.ToString())

結果:
2008/05/20 10:26:00
2008/05/20 12:01:00

で、上の例ではDateTime.Parse()を使ってますが、ここ見たところDateTime.ParseExact()を使ったほうがよさげなので、こうしました。


Dim dt As DateTime = DateTime.Today()
Console.WriteLine(dt.ToString())
dt = DateTime.ParseExact(dt.ToString("yyyy/MM/dd 12:01:00"), "yyyy/MM/dd HH:mm:ss", Nothing)

Console.WriteLine(dt.ToString())

結果:
2008/05/20 10:26:00
2008/05/20 12:01:00


ちなみに.NetではDateとDateTimeは同じものみたいです。
DateはVB6との互換性だけに残しているようなものみたいすね。
[PR]
by jehoshaphat | 2008-05-20 10:40 | .Net開発 | Trackback | Comments(0)
トラックバックURL : http://jehupc.exblog.jp/tb/7973271
トラックバックする(会員専用) [ヘルプ]
※このブログはトラックバック承認制を適用しています。 ブログの持ち主が承認するまでトラックバックは表示されません。


<< (.net)紛らわしいType... エンタープライズ系弱いなぁ。 >>