MEMONICA

MEMONICA

RPAやプログラミングなどの自分用技術メモブログです。

【Blue Prism】日時について

Date型、DateTime型、Time型についての要点まとめ

日時の計算

Date型

Date型の加減算は、基本的にAddDays()、AddMonths()、DateAdd()で行う。

関数(引数)

内容

戻り値

AddDays(Date, Days)

DateDays(Number)を加減算
AddDays("2020/6/9", 3)
AddDays("2020/6/9", 3.21)
AddDays("2020/6/9", 22)
AddDays("2020/6/9", 60)
AddDays("2020/6/9", -3)

Date
6/12/2020

6/12/2020
7/1/2020
8/12/2020
6/6/2020

AddMonths(Date, Months)

DateMonths(Number)を加減算
AddMonths("2020/6/9", 3)
AddMonths("2020/6/9", 8)

Date
9/9/2020

2/9/2021

DateAdd(Interval, Number, Date)

選択したInterval(0:年、1:週、2:日、4:四半期、5:)で、Number分、Dateに加算
DateAdd(0, 3, "2020/6/9")  
//
DateAdd(1, 3, "2020/6/9")  
//

DateAdd(2, 3, "2020/6/9")  //

DateAdd(3, 3, "2020/6/9")  //無効

DateAdd(4, 3, "2020/6/9")  //四半期

DateAdd(5, 3, "2020/6/9")  //

Date

6/9/2023

6/30/2020
6/12/2020
6/9/2020

3/9/2021

9/9/2020

Date型同士の差

関数(引数)

内容

戻り値

DateDiff(Interval,
Start Date, End Date)

Interval(0:年、1:週、2:不明、3:日、4:四半期、5:月)を選択し、その基準でStart DateとEnd Dateの差を求める
DateDiff(0, "2020/6/09", "2021/6/21")  //年
DateDiff(1, "2020/6/09", "2021/6/21")  //週
DateDiff(2, "2020/6/09", "2021/6/21") //不明
DateDiff(3, "2020/6/09", "2021/6/21")  //日
DateDiff(4, "2020/6/09", "2021/6/21")  //四半期
DateDiff(5, "2020/6/09", "2021/6/21")  //月

Number

1

54

53

32572800


12

DateTime型とTIme型

DateTime型とTime型の加減算は、基本的にTimeSpan型で行う。

ToTime("10:12:00") + MakeTimeSpan(3, 2, 10, 10)

12:22:10 PM
Hours, Minutes, Seconds部分のみ加算(Days部分は消える)

 

日時関連

Local Timeの取得

日本で使うRPAであれば通常、日本のローカル時刻基準である「JST:Japan Standard Time」が設定されたコンピュータ上で動く。JST兵庫県明石市(UTC+9時間)を基準としたタイムゾーンである。JST:Tokyo Standard Timeと記載されることもある。

1.Utility - Date and Time Manipulation > UTC To Local

「Time Zone ID」入力項目に何もいれなければ、自動的に実行端末に設定されたローカル時刻が適用される

2.Now() + MakeTimeSpan(0,9,0,0)

タイムゾーンが複数存在し、それぞれの拠点でBlue Prismの端末を持つような場合には使用できない(日本:+9)

3.Today() & LocalTime()

秒数まで出力できない

UTC、Local Timeの取得関数

 

Date Time

Date

Time

UTC

Now()

なし

UTCTime()

Local Time

Today()

Today()

LocalTime()

 

FormatDate

関数(引数)

内容

戻り値

FormatDate
(Date,Format)

Dateの出力をFormat形式に変換

FormatDate( "2020/6/09", "yyyyMMdd")

FormatDate( "2020/12/19", "M-d-y")

FormatDate( "2020/12/19", "yyy-MMMM-dddd")

FormatDate( "2020/12/19", "yyy-MMM-ddd です")

※大文字Mは月(Month)、小文字mは0

MMMのように3つ重ねると英語略表記

MMMMのように4つだと英語フル表記

dddのように3つ重ねると曜日英語略表記

ddddのように4つだと、曜日英語フル表記

Text

20200609

12-19-20

2020-December-Saturday 

2020-Dec-Sat です

FormatDateTIme
(Date, Format)

FormatDate()に、時間情報を追加できる

FormatDate( "2020/6/09 10:12:30", "yyyy-MM-dd hh:mm:ss")

※時間のmは分(minute)

※大文字Hは24時間表記、小文字hは12時間表記(日本ではHを使うことが多い)

DateTime型

2020-06-09 10:12:30

dには、「日付(曜日)」の意味と「カスタム書式」としての意味を持っている。dについて

FormatDate関数において、dを2文字以上重ねた場合は日付や曜日、d1文字の場合は書式設定(M/d/yyyy)の意味となる。

f:id:zamdin:20200822102005p:plain

 FormatDate()、FormatDateTime()で指定できる書式文字列は、.Netフレームワークにおける書式指定と同様となる。

 

 [参考ページ]

<標準の日時指定書式文字列の一覧>

https://docs.microsoft.com/ja-jp/dotnet/standard/base-types/standard-date-and-time-format-strings

<カスタム日時形式文字列の一覧>

https://docs.microsoft.com/ja-jp/dotnet/standard/base-types/custom-date-and-time-format-strings