サンプル投稿用掲示板  VB2005 〜 用トップページ  VB6.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) 
  
  
 |