鈴鹿の住処

■UiPath Tips■

更新日:  作成日:

日付を計算する

■はじめに

UiPath Studio で VB.Net のメソッドを使って、日付を計算する方法を紹介します。

DateTime.Add メソッドや DateTime.Subtract メソッドなどで、日付を計算することができます。

DateTime.Add メソッドは、指定の日数分の未来日・過去日の日付を計算して返します。

DateTime.Subtract メソッドは、2つの日付の期間を計算して返します。

VB.Net のメソッドや関数は、代入や条件分岐のアクティビティなどの VB の式を入力する欄で使用することができます。

メソッド、関数の使い方画像

■メソッドの引数と戻り値

基準日.Add(New System.TimeSpan(, , , ))
基準日.AddYears()
基準日.AddMonths()
基準日.AddDays()
基準日.AddHours()
基準日.AddMinutes()
基準日.AddSeconds()
基準日から計算された日付(DateTime)を返します。

引数「年、月、日、時、分、秒」・・・加算、もしくは減算する数値を指定します。
戻り値の型・・・日付型(DateTime)

基準日.Subtract(日付)
基準日と日付の間の期間(TimeSpan)を返します。

基準日.Subtract(期間)
基準日から期間(TimeSpan)分を減算した日付を返します。

引数「日付(DateTime)」、「期間(TimeSpan)」・・・減算する日付、もしくは期間を指定します。
戻り値の型・・・日付型(DateTime)
戻り値の型・・・ 期間(TimeSpan)

■解説

DateTime.Add メソッドは、一度の実行で複数の時間間隔(日、時間、分、秒、またはミリ秒)を計算することができます。
引数は、「時、分、秒」や「日、時、分、秒」、「日、時、分、秒、ミリ秒」の形で指定することができます。

DateTime.Add メソッド、DateTime.AddYears メソッド等は、引数を正の値で指定すると加算されて未来の日付を返します。
負の値で指定すると減算されて過去の日付を返します。

DateTime.Subtract メソッドは、引数を日付(DateTime)で指定すると、基準日から引数「日付」までの期間を TimeSpan 構造体で返します。
基準日の方が未来日の場合、戻り値は正の値になり、基準日の方が過去日の場合、戻り値は負の値になります。

DateTime.Subtract メソッドは、引数を期間(TimeSpan)で指定すると、基準日から引数「期間」を減算した日付を返します。
引数「期間」が正の値の場合、戻り値は過去日になり、引数「期間」が負の値の場合、戻り値は未来日になります。

■使用例

DateTime.Add メソッド、DateTime.AddYears メソッド等の使用例を紹介します。

日付を計算する
            
  変数 d , Today の型は DateTime
  変数 period1 , period2 の型は System.TimeSpan
  VB.Netの実行日付は[12/21/2024 13:09:28]になります

  Today = Now                                  [12/21/2024 13:09:28]
  period1 = New System.TimeSpan(2, 5, 10)      [02:05:10]
  period2 = New System.TimeSpan(3, 5, 10, 20)  [3.05:10:20]
  
  d = Today.Add(period1)     [12/21/2024 15:14:38]
  d = Today.Add(period2)     [12/24/2024 18:19:48]

  d = Today.Add(New System.TimeSpan(2, 5, 10))       [12/21/2024 15:14:38]
  d = Today.Add(New System.TimeSpan(3, 5, 10, 20))   [12/24/2024 18:19:48]
  d = Today.Add(New System.TimeSpan(240, 0, 0))      [12/31/2024 13:09:28]
  d = Today.Add(New System.TimeSpan(400, 0, 0, 0))   [01/25/2026 13:09:28]
  d = Today.Add(New System.TimeSpan(-5, 0, 0))       [12/21/2024 08:09:28]
  d = Today.Add(New System.TimeSpan(-10, 0, 0, 0))   [12/11/2024 13:09:28]

  d = Today.AddYears(2)     [12/21/2026 13:09:28]
  d = Today.AddMonths(2)    [02/21/2025 13:09:28]
  d = Today.AddDays(2)      [12/23/2024 13:09:28]
  d = Today.AddHours(2)     [12/21/2024 15:09:28]
  d = Today.AddMinutes(2)   [12/21/2024 13:11:28]
  d = Today.AddSeconds(2)   [12/21/2024 13:09:30]
  
  d = Today.AddDays(400)    [01/25/2026 13:09:28]
  d = Today.AddDays(-2)     [12/19/2024 13:09:28]
  
  Today = New System.DateTime(2024, 1, 30)  [[01/30/2024 00:00:00]]
  d = Today.AddMonths(1)                    [02/29/2024 00:00:00]
  d = Today.AddDays(30)                     [02/29/2024 00:00:00]
  
  Today = New System.DateTime(2023, 1, 30)  [[01/30/2023 00:00:00]]
  d = Today.AddMonths(1)                    [02/28/2023 00:00:00]
  d = Today.AddDays(30)                     [03/01/2023 00:00:00]
            
          

DateTime.Subtract メソッドの使用例を紹介します。

日付を計算する
            
  変数 d , date1 , date2 , date3 の型は DateTime
  変数 period の型は System.TimeSpan

  date1 = New System.DateTime(2024, 9, 21, 13, 9, 28)   [09/21/2024 13:09:28]
  date2 = New System.DateTime(2024, 12, 21, 13, 9, 28)  [12/21/2024 13:09:28]
  date3 = New System.DateTime(2025, 6, 21, 13, 9, 28)   [06/21/2025 13:09:28]

  period = date2.Subtract(date1)   [91.00:00:00]
  d = date3.Subtract(period)       [03/22/2025 13:09:28]

  period = date2 - date1   [91.00:00:00]
  d = date3 - period       [03/22/2025 13:09:28]

  period = date1.Subtract(date2)   [-91.00:00:00]
  d = date3.Subtract(period)       [09/20/2025 13:09:28]