更新日: 作成日:
文字列を日付に変換する
■はじめに
UiPath Studio で VB.Net の関数を使って、文字列を日付に変換する方法を紹介します。
DateTime.Parse 関数や CDate 関数などで、文字列を日付型(DateTime)に変換できます。
VB.Net のメソッドや関数は、代入や条件分岐のアクティビティなどの VB の式を入力する欄で使用することができます。
■関数の引数と戻り値
DateTime.Parse(文字列)
Convert.ToDateTime(文字列)
CDate(文字列)
文字列を日付(DateTime)に変換します。
引数「文字列」・・・文字列を指定します。
戻り値の型・・・日付型(DateTime)
■解説
DateTime.Parse 関数、Convert.ToDateTime 関数や CDate 関数では、日付の変換は文字列のみとなり、数値は日付に変換できません。
数値を日付に変換するには、「DateTime 関数」等を使います。
引数「文字列」が日付を含まない文字列の場合、返ってくる日付は当日日付になります。
CDate 関数では、返ってくる日付は[01/01/0001]になります。
引数「文字列」が時刻を含まない文字列の場合、返ってくる時刻は[00:00:00]になります。
Convert.ToDateTime 関数では、引数「文字列」が Null の場合、DateTime.MinValue[01/01/0001 00:00:00]が返ってきます。
DateTime.Parse 関数、CDate 関数では、エラーが発生します。
変換できるかどうかは、「DateTime.TryParse 関数」で判定できます。
全角数字の文字列を日付に変換するには、「StrConv 関数」で数値に変換する前に全角から半角に変換することで、日付に変換することができます。
■使用例
DateTime.Parse 関数、Convert.ToDateTime 関数や CDate 関数の使用例を紹介します。
日付に変換する
変数 d の型は DateTime
VB.Netの実行日付は[09/16/2024]になります
d = DateTime.Parse("1999/12/31 23:59:59") [12/31/1999 23:59:59]
d = DateTime.Parse("1999-12-31 23:59:59") [12/31/1999 23:59:59]
d = DateTime.Parse("1999年12月31日 23時59分59秒") [12/31/1999 23:59:59]
d = DateTime.Parse("23時59分59秒") [09/16/2024 23:59:59]
d = DateTime.Parse("1999年12月31日") [12/31/1999 00:00:00]
d = DateTime.Parse("西暦2000年") FormatException
d = DateTime.Parse("令和2年") FormatException
d = DateTime.Parse("September") FormatException
d = DateTime.Parse("September16") [09/16/2024 00:00:00]
d = DateTime.Parse("3 PM") [09/16/2024 15:00:00]
d = DateTime.Parse("午後3時") FormatException
d = DateTime.Parse("3時") [09/16/2024 03:00:00]
d = CDate("23時59分59秒") [01/01/0001 23:59:59]
d = Convert.ToDateTime(Null) [01/01/0001 00:00:00]
日付に変換できるか判定する
「DateTime.TryParse 関数」を使用して、変換できるか判定できます。
DateTime.TryParse(文字列, 変数) 文字列がDateTime型に変換ができるかどうかをBooleanで返します。
引数「文字列」・・・変換を行う文字列を指定します。
引数「変数」 ・・・DateTime型の変数を指定します。
戻り値の型・・・ブール型(Boolean)
下の画像では、条件分岐で変数 text が日付に変換できる場合のみ、変換して変数 daytime に代入します。
変数 daytime の型は、DateTime にしています。
Null は戻り値が False となります。