UiPathを活用すれば、様々な業務を自動化することができます。
その中でも日時を扱う業務、例えば締切日や本日の日付などの概念が必要な場合には、日付型変数「DateTime」を使う必要があります。
この記事では、UiPathで日付や時刻等を表すときに使うDateTimeについて、解説します。サンプル集では、実用的な事例も紹介しており、和暦表示も網羅しています。
日付型変数 DateTime
DateTimeのリテラル値(形式)
リテラル値) 年-月-日 時:分:秒
例) 2021年09月28日 16:28:36
※「-」は「/」でも記述可
変数で初期化
代入で初期化
上図のように、New演算子を使って『New DateTime(年,月,日)』で初期化することもできます。
※年、月、日はそれぞれInt32型変数です。
現在時刻、今日の日付の取得
現在時刻をプロパティで取得
DateTime.Nowプロパティを使えば、現在の時刻を取得できます。上図のDateTime.Nowは変数ではなくプロパティです。
今日の日付
DateTime.Todayプロパティを使えば、今日の日付を取得できます。Nowと同様、変数ではなくプロパティです。
ToStringの書式の種類
上図の「文字列で」はString型の変数です。今日の日付に格納されている「yyyy/MM/dd hh/mm/ss」が、2回目の代入で指定されているToStringの書式で書き換えられ『yyyy/MM/dd』となります。
このようにToStringの後に続くカッコ内で任意の書式に変換することができます。
<ToStringの書式>
書式 | 意味 | 実行結果 |
---|---|---|
“gg” | 年号 | A.D. |
“d” | 日付(短) | 09/28/2021 |
“D” | 日付(長) | Tuesday, 28 September 2021 |
“f” | 日時(短) | Tuesday, 28 September 2021 21:33 |
“F” | 日時(長) | Tuesday, 28 September 2021 21:33:56 |
“t” | 時刻(短) | 21:33 |
“T” | 時刻(長) | 21:33:56 |
“MMM” | 月(短) | Sep |
“MMMM” | 月(長) | September |
“ddd” | 曜日(短) | Tue |
“dddd” | 曜日(長) | Tuesday |
“yyyy/MM/dd” | 年/月/日 | 2021/09/28 |
“HH:mm:ss” | 時:分:秒(24時間表示) | 21:33:56 |
“hh:mm:ss” | 時:分:秒(12時間表示) | 9:33:56 |
ToStringの日本語書式
上記のToStringの書式の末尾に「New CultureInfo(“ja-JP”),True」を格納したCltureInfo型変数を指定することで、年月日や曜日などの表示を日本語で表すことができます。
<ToStringの日本語書式>
書式 | 意味 | 実行結果 |
---|---|---|
“gg” | 年号 | 西暦 |
“d” | 日付(短) | 2021/09/28 |
“D” | 日付(長) | 2021年9月28日 |
“f” | 日時(短) | 2021年9月28日 21:33 |
“F” | 日時(長) | 2021年9月28日 21:33:56 |
“MMM” | 月(短) | 9 |
“MMMM” | 月(長) | 9月 |
“ddd” | 曜日(短) | 火 |
“dddd” | 曜日(長) | 火曜日 |
“yyyy/MM/dd” | 年/月/日 | 2021/09/28 |
“HH:mm:ss” | 時:分:秒(24時間表示) | 21:33:56 |
“hh:mm:ss” | 時:分:秒(12時間表示) | 9:33:56 |
サンプルコード集
個人的に、変数名に日本語を使うのは好みではありませんが、当サンプルコード集では構文と変数名を区別しやすいように日本語で宣言しています。
昨日の日付
DateTime.Now.addDays(-1)
3日後の日付
DateTime.Now.addDays(3)
1ヵ月後の日付
DateTime.Now.addMonths(1)
1年後の日付
DateTime.Now.addYears(1)
5秒後の日付
DateTime.Now.addSeconds(5)
1分後の日付
DateTime.Now.addMinutes(1)
1時間後の日付
DateTime.Now.addHours(1)
漢字の曜日 → 火
DateTime.Now.ToString(”ddd”,日本語書式)
漢字の曜日 → 火曜日
DateTime.Now.ToString(”dddd”,日本語書式)
日本語書式はCultureInfo型の変数です。変数名は任意です。
漢字の曜日 → (火)
DateTime.Now.ToString(”(” & “ddd” & “)”,日本語書式)
日本語書式はCultureInfo型の変数です。変数名は任意です。
和暦 → 令和
CultureInfo型変数とJapaneseCalender型変数の設定が必要となりますので、イメージ図でご確認ください。
和暦はCultureInfo型、カレンダーはJapaneseCalender型の変数です。変数名は任意です。
DateTimeのまとめ
このように、DateTimeの使い方を覚えれば、日付の処理を思うままに処理することができます。
UiPathは、変数の型、つまり数値型(Int32)か文字列型(String型)か、などを正確に指定する必要があり、ここを誤ってしまうと四則演算すらできなくなってしまいます。
今回の記事で説明した日時は、DateTime型となります。取得した値を文字列として抽出したり、加減算数するには、期間型変数(TimeSpan)や文字列の加工などの知識も必要です。
それらについては、別記事で説明したいと思います。