tagCANDY CGI VBレスキュー(花ちゃん) - VBレスキュー(花ちゃん)の投稿サンプル用掲示板 - Visual Basic 6.0 VB2005 VB2010
VB2005用トップページへVBレスキュー(花ちゃん)のトップページVB6.0用のトップページ
VBレスキュー(花ちゃん)の投稿サンプル用掲示板
     サンプル投稿用掲示板  VB2005 〜 用トップページ  VB6.0 用 トップページ
文字列型の日付を日付型へ変換(VB.NET) ( No.0 )  [親スレッドへ]
日時: 2009/12/27 20:36
名前: 花ちゃん

***********************************************************************************
* カテゴリー:[日付・時刻][][]                                                *
* キーワード:文字列日付,日付型,変換,日付の文字列をDate型の値に変換,         *
***********************************************************************************
タイトル : 文字列を日付型へ変換
記 事 No : 7618
投 稿 日 : 2008/05/27(Tue) 15:05
元質問者 : ダンボ  

VB6掲示板での同名の質問と回答
http://hanatyan.sakura.ne.jp/vb60bbs/wforum.cgi?mode=allread&no=12331&page=0
から、
 CDate(Format("20080522", "0000\/00\/00"))
はスマートでよいなぁと思い、VB2005で使ってみましたが駄目ですね。
「String "0000\/00\/00" から型 'Date' への変換は無効です」
という例外が起きてしまいます。

strDateに"20080522"が入っているとして、
DateSerial(CInt(strDate.Substring(0, 4)), CInt(strDate.Substring(4, 2)), CInt(strDate.Substring(6, 2)))
というのが、私のオリジナルなコードで、正しく動作するんですが泥臭い。

スマートなコードありますか?

-----------------------------------------------------------------------------------
記事No : 7619
投稿日 : 2008/05/27(Tue) 15:39
回答者 : 花ちゃん  
-----------------------------------------------------------------------------------
>  CDate(Format("20080522", "0000\/00\/00"))
> はスマートでよいなぁと思い、VB2005で使ってみましたが駄目ですね。
> 「String "0000\/00\/00" から型 'Date' への変換は無効です」
> という例外が起きてしまいます。

下記なら、一応 通ります。
CDate(Format(CDbl("20080522"), "0000\/00\/00"))
CDate(Format(20080522, "0000\/00\/00"))


-----------------------------------------------------------------------------------
記事No : 7620
投稿日 : 2008/05/27(Tue) 15:43
回答者 : 魔界の仮面弁士  
-----------------------------------------------------------------------------------
>  CDate(Format("20080522", "0000\/00\/00"))

Dim dt As Date = Date.ParseExact("20080522", "yyyyMMdd", CultureInfo.InvariantCulture)



 [スレッド一覧へ] [親スレッドへ]