■サイト内検索:
 

RPA Biz > RPA > 【UiPath】メソッドの仕組みと時間の扱い方

【UiPath】メソッドの仕組みと時間の扱い方

2018.06.08

UiPathのそれぞれの変数の型には様々なメソッドが存在します。

そのメソッドはどのようにできているのでしょうか。

メソッドの成り立ちについて少しだけでも理解しておくことで今後のメソッドの使用の際に作業しやすくなってくると思います。

ここではUiPathが使用しているプログラミング言語を見ていくことで、メソッドがどのようにしてできているのかについて確認していきます。

 

VB.NETとは


UiPathではVB.NETと呼ばれるものを使って様々なタスクを動作できるようにしています。

VB.NETとはVisual Basic.NETの略称でMicrosoft社が開発したプログラミング言語です。

このVB.NETの特徴としては、Windowsとの互換性が高く、

プログラミング言語を経験したことのないプログラミング初心者にもわかりやすいようなものとなっています。

このプログラミング言語をUiPathでは採用しています。

そのため、わからないメソッドや型などがある場合にはこちらMicrosoftの公式のページから随時調べることができます。

今回はその中でも少し特殊な「時間の管理の仕方」について見ていきましょう。

 

時間の管理について


時間を管理する型として大きく二つの型があります。

DateTime型TimeSpan型の二つです。

 

DateTime型は時刻や日付などを簡単に収納しておくためにつくられた型です。

簡単に現在の時刻、日付、曜日などを取得するプロパティなどがあります。

 

それに比べて、TimeSpan型は日本語で「時間間隔」と訳されるように、時間そのものではなくて時間の値をいれておくための型です。

時間間隔の加減算などを簡単に行うことができるようになっています。

 

 DateTime型


DateTime型のメソッドには、DateTime型同士を比較したり、足してみたりなどのものがあります。

今の二つだけでも気づく方もいらっしゃるかもしれないですが、このメソッドにはDateTime型を引数にして使用するものもあるのです。

もちろんそれ以外を引数にとることもあるのですが、今回は引数にDateTime型を使うものを重点的に見ていきましょう。

 

1.Equalsメソッド

このメソッドはDateTime型同士を比較するメソッドです。

等しい場合はTrue、等しくない場合はFalseを返します。

このメソッドは引数を一つとるものと二つとるものがあります。

 

直感的に簡単なのは引数が一つの時なのでそちらから見ていきます。

使い方は、「test_date1.Equals(test_date2)」のように使用します。

ここではtest_date1test_date2を比べます。

この使用例のような場合ではtest_date1のメソッドとしてEqualsメソッドが呼び出されています。

 

次に、引数が二つの場合について見ていきます。

使い方は、「DateTime.Equals(test_date1,test_date2)」のようにして使用します。

ここでもtest_date1test_date2を比べています。

この使用例のような場合ではDateTimeのメソッドとしてEqualsメソッドが呼び出されています。

 

ここで両方について注意していただきたいのは、test_date1test_date2DateTime型の変数ですが、

DateTimeというのは変数ではないということです。

ですので、引数は自由に変えていただいていいですが、「DateTime.Equals」までは固定で同じものを毎回使用することとなります。

また、返り値はInteger型で返ってくるので出力するときなどには注意してください。

DateTime.Equals(test_date1,test_date2).ToString」のようにすると文字列として出力できます。

 

2.CompareToメソッド

CompareToメソッドも先ほどのEqualsメソッドと同じく、二つのDateTime型同士を比較するメソッドです。

基本的には同じ操作方法と考えてもらって大丈夫です。

異なる点についてですが、このCompareToメソッドは二つのDateTime型の大小を出力する点です。

返り値についてですが、大きければ「0」よりも大きい値「1」を返します。

逆に小さいときは「0」よりも小さい値「-1」を返します。全く同じときには「0」を返します。

 

使用例を見ていきます。使用例も先ほどのEqualsメソッドと同じく引数を一つとるものと二つとるものがあります。

引数が一つのものは、「test_date1.CompareTo(test_date2)」のように使用します。

ここではtest_date1test_date2を比べます。

この使用例ではtest_date1のメソッドとしてEqualsメソッドが呼び出されています。

この場合はtest_date1の方がtest_date2より大きい場合には「0」よりも大きい値「1」を返し、

逆にtest_date1の方がtest_date2より小さい場合には「0」よりも小さい値「-1」を返します。

 

引数が二つの場合についても見ていきましょう。

使い方は、「DateTime.CompareTo(test_date1,test_date2)」のようにして使用します。

ここでもtest_date1test_date2を比べています。

この使用例ではDateTimeのメソッドとしてCompareToメソッドが呼び出されています。

この場合はtest_date1の方がtest_date2より大きい場合には「0」よりも大きい値「1」を返し、

逆にtest_date1の方がtest_date2より小さい場合には「0」よりも小さい値「-1」を返します。

 

注意については先ほど述べたものをもう一度見直しておいてください。

 

3.Subtractメソッド

 SubtractメソッドはDateTime型どうしの減算をおこなうメソッドです。

使い方は、「test_date1.Subtract(test_date2)」のようにして使用します。

この場合は、「test_date1」-「test_date2」の値が帰り値となります。

なので、返り値がマイナスの値にもなりうることに注意してください。

さらに注意していただきたいのは返り値はString型ではないので出力する時には「.ToString」をつけ忘れないようにしてください。

(返り値は後ほど説明するTimeSpan型になります)

 

TimeSpan型


TimeSpan型には日数や時間数、分数や秒数などが格納される型です。

格納されるもので分かる方もいるかもしれないですが、実際の時間を格納するわけではないので注意してください。

格納するのはすべて数字です。

TimeSpan型に関しては演算子を紹介しておきます。

演算子とは足し算や引き算といった時に登場する、「+」や「-」のようなもののことをいいます。

演算子とメソッドとの違いは、演算子の方が直感的でわかりやすいところです。

実際に見ていきながらのほうがいいと思うので具体的に見ていきます。

 

1.足し算、引き算

足し算を「+」、引き算を「-」として扱います。

なので、「time1 – time2」のような形をとります。

メソッドで「time1.Subtract(time2)」のようにも書くことは可能ですが、見てすぐにわかりやすいのは前者のほうではないでしょうか。

 

2.等しい、大きい、小さい

これらの演算子も通常のように使用できます。

「=」や「<」、「>」のような演算子を使用することができます。

また、以上や以下のようなものも「<=」のようにあらわすことで使用することができます。

 

3.マイナスやプラス

「-2」のような表記のように、「- test」のような演算子も使用できます。

もちろん”-“演算子は符号を逆にする演算子で、「+」演算子は符号をそのままで表示する演算子です。

 

まとめ


このように時間の変数の管理について、DateTime型とTimeSpan型をうまく使い分けないといけません。

この時には返り値がどの型の値なのかどうかを確認しながら実行することでミスを減らすことができると思います。

また、ここで用いたDateTime型などではグレゴリオ暦で日時を扱うようになっています。

ですので、うるう年の計算などはグレゴリオ暦に依存しています。

もしも、ヘブライ暦・イスラム暦などの暦のようなものを使用したい場合はCalendar型をお使いください。

 

 

topへ
© RPA.biz