データのフィルタなど、年月日を使うことがあります。月次や期で各種業績を集計している人には必要となることが多いです。最新版では、こちらのデータも非常に扱いやすいアクティビティが整備されているので別途紹介します。
UiPathではVB.NET関数をサポートしており、種々の書式での出力が可能です。
UiPathはシステムが持っている変数を使えます。日時に関わるものはDateTimeに属します。
System.DateTime.Now
で今現在の日時を取得できます。
で今現在の日時を取得できます。
Nowとは別にTodayもよく使用されます。違いは、Nowが正規の時刻のデータを持っているのに対して、Todayの時刻データは00:00:00となっています。
UiPathでシステムを動かす場合、日付を文字列として入力する場合が多いので。たとえば、2019-09-09の形式としたい場合
System.DateTime.Now.ToString("yyyy-MM-dd")と設定します。
以下の
この様に表示されます。
日付書式と実際の表記
今日が2019年09月10日 21:22:03である場合
System.DateTime.(この続き) | 実際の表記 |
Now.ToString("yyyy-MM-dd") | 2019-09-10 |
Now.ToString("gyyyy-MM-dd") | A.D.2019-09-10 |
Now.ToString("yyyy/MM/dd") | 2019/09/10 |
Now.ToString("yyyy年MM月dd日") | 2019年09月10日 |
Now.ToString("yyyy-M-d") | 2019-9-10 |
Now.ToString("yyyy-MM-dd(dddd)") | 2019-09-10(Tuesday) |
Now.ToString("yyyy-MM-dd(ddd)") | 2019-09-10(Tue) |
Now.ToString("MMM-dd-yyyy") | Sep-10-2019 |
Now.ToString("MMMM-dd-yyyy") | September-10-2019 |
Now.ToString("yyyy-MM-dd hh:mm:ss") | 2019-09-10 21:22:03 |
Now.ToString("yyyy-MM-dd h:m:s") | 2019-09-10 21:22:3 |
Now.ToString("yyyy-MM-dd tthh:mm:ss") | 2019-09-10 PM09:22:03 |
Now.ToString("yyyy-MM-dd thh:mm:ss") | 2019-09-10 P09:22:03 |
Now.ToString("F") | Tuesday, 10 September 2019 21:22:03 |
今日以外の日付抽出
今日が2019年09月10日 21:22:03である場合
摘要 | System.DateTime.(この続き) | 実際の表記 |
今日 | Now.ToString("yyyy-MM-dd") | 2019-09-10 |
明日 | Now.AddDays(1).ToString("yyyy-MM-dd") | 2019-09-11 |
明後日 | Now.AddDays(2).ToString("yyyy-MM-dd") | 2019-09-12 |
n日後 | Now.AddDays(n).ToString("yyyy-MM-dd") ※n:整数 | |
昨日 | Now.AddDays(-1).ToString("yyyy-MM-dd") | 2019-09-09 |
一昨日 | Now.AddDays(-2).ToString("yyyy-MM-dd") | 2019-09-09 |
1か月後 同日 | Now.AddMonths(1).ToString("yyyy-MM-dd") | 2019-10-10 |
1か月間後* | Now.AddMonths(1).Adddays(-1).ToString("yyyy-MM-dd") | 2019-10-09 |
1か月前 同日 | Now.AddMonths(-1).ToString("yyyy-MM-dd") | 2019-08-10 |
1年後 同月同日 | Now.AddYears(1).ToString("yyyy-MM-dd") | 2020-09-10 |
1年前 同月同日 | Now.AddYears(-1).ToString("yyyy-MM-dd") | 2018-09-10 |
先月1日 | Now.AddMonths(-1).ToString("yyyy-MM-")&"01" | 2019-08-01 |
先月末日** | Now.ToString("yyyy-MM-")&"00" | 2019-09-00 |
先月末日 | 下に記載 |
*定期券などで見られる有効期限などは、たとえば1か月定期は1か月後同日ではないため
**ACCESSなどでは、たとえば3月1日から3月末日までの抽出を3月1日~4月0日と設定することで達成できます。この表現の利点は、月日数によって日数が変化なく、月ごとの場合分け等が不要なことです。なお、この手法が通用しないソフトもあるため注意が必要です。
先月末日の取得
先日末日の取得は、まず今月1日を取得してそこから1日前日を指定してやればできます。
少し長くなりますが下の様に記載します
System.Datetime.parse(System.DateTime.Now.ToString("yyyy/MM/")&"01").AddDays(-1).ToString("yyyy-MM-dd")
コメント